Can retrieve a table now.

This commit is contained in:
Jeff Baskin 2022-08-07 09:29:08 -04:00
parent 15ee9f7fa9
commit 07baa7bbec
1 changed files with 28 additions and 2 deletions

View File

@ -25,13 +25,23 @@ impl MoreThanText {
match tables.get(&name) {
Some(_) => Err(MTTError::new(format!("table {} already exists", name))),
None => {
tables.insert(name, Table::new().await);
Ok(Table::new().await)
let table = Table::new().await;
tables.insert(name, table.clone());
Ok(table)
}
}
}
pub async fn get_table(&self, name: &str) -> Option<Table> {
let tables = self.tables.read().await;
match tables.get(name) {
Some(tbl) => Some(tbl.clone()),
None => None,
}
}
}
#[derive(Clone)]
pub struct Table;
impl Table {
@ -77,6 +87,22 @@ mod database {
}
}
}
#[async_std::test]
async fn get_non_existant_table() {
let db = MoreThanText::new().await;
let table = db.get_table("missing").await;
assert!(table.is_none(), "There should be no table.");
}
#[async_std::test]
async fn get_a_table() {
let db = MoreThanText::new().await;
let name = "here";
db.new_table(name).await.unwrap();
let table = db.get_table(name).await;
assert!(table.is_some(), "Table should be found.");
}
}
#[cfg(test)]