diff --git a/src/lib.rs b/src/lib.rs index 31e1bb2..b7724c3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,60 @@ +use std::vec::Vec; + #[cfg(test)] -mod tests { - #[test] - fn it_works() { - assert_eq!(2 + 2, 4); - } +mod tests; + +// public-facing library functions + +pub fn init(conf_dir: &str) -> bool { + // TODO + return conf_dir != "" && false; +} + +pub fn install(pkg_name: &str) -> bool { + // TODO + return pkg_name != "" && false; +} + +pub fn update_all() -> bool { + // TODO + return false; +} + +pub fn update(pkg_name: &str) -> bool { + // TODO + return pkg_name != "" && false; +} + +pub fn resolve_dependencies(pkg_name: &str) -> Vec { + // TODO + let mut result = Vec::::new(); + result.push(pkg_name.to_string()); + return result; +} + +pub fn remove(pkg_name: &str) -> bool { + // TODO + return pkg_name != "" && false; +} + +pub fn list_packages() -> Vec { + // TODO + return Vec::::new(); +} + +// remote package providers + +pub fn add_server(server_name: &str) -> bool { + // TODO + return server_name != "" && false; +} + +pub fn remove_server(server_name: &str) -> bool { + // TODO + return server_name != "" && false; +} + +pub fn list_servers() -> Vec { + // TODO + return Vec::::new(); } diff --git a/src/tests.rs b/src/tests.rs new file mode 100644 index 0000000..89a1274 --- /dev/null +++ b/src/tests.rs @@ -0,0 +1,67 @@ +use super::*; + +const CONFIG_DIR: &str = "./test"; + +#[test] +fn it_works() { + assert_eq!(2 + 2, 4); +} + +#[test] +fn lib_test_init() { + assert_eq!(init(CONFIG_DIR), true); +} + +#[test] +fn pkg_test_install() { + assert_eq!(init(CONFIG_DIR), true); + assert_eq!(install("test"), true); +} + +#[test] +fn pkg_test_update_all() { + assert_eq!(init(CONFIG_DIR), true); + assert_eq!(update_all(), true); +} + +#[test] +fn pkg_test_update() { + assert_eq!(init(CONFIG_DIR), true); + assert_eq!(update("test"), true); +} + +#[test] +fn pkg_test_resolve_dependencies() { + assert_eq!(init(CONFIG_DIR), true); + assert_ne!(resolve_dependencies("test").len(), 0); +} + +#[test] +fn pkg_test_remove() { + assert_eq!(init(CONFIG_DIR), true); + assert_eq!(remove("test"), true); +} + +#[test] +fn pkg_test_list() { + assert_eq!(init(CONFIG_DIR), true); + assert_ne!(list_packages().len(), 0); +} + +#[test] +fn server_test_add() { + assert_eq!(init(CONFIG_DIR), true); + assert_eq!(add_server("http://test.org"), true); +} + +#[test] +fn server_test_remove() { + assert_eq!(init(CONFIG_DIR), true); + assert_eq!(remove_server("http://test.org"), true); +} + +#[test] +fn server_test_list() { + assert_eq!(init(CONFIG_DIR), true); + assert_ne!(list_servers().len(), 0); +}