Added pull record information.
This commit is contained in:
parent
6983ee366d
commit
85d299b852
@ -9,7 +9,7 @@ pub enum CacheType {
|
|||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct Record {
|
pub struct Record {
|
||||||
data: HashMap<String, String>
|
data: HashMap<String, String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Record {
|
impl Record {
|
||||||
@ -25,7 +25,14 @@ impl Record {
|
|||||||
None => {
|
None => {
|
||||||
self.data.insert(col.to_string(), data.to_string());
|
self.data.insert(col.to_string(), data.to_string());
|
||||||
Ok(())
|
Ok(())
|
||||||
},
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn get_field(&self, col: &str) -> Result<String, DBError> {
|
||||||
|
match self.data.get(col) {
|
||||||
|
Some(item) => Ok(item.to_string()),
|
||||||
|
None => Err(DBError::new("missing field")),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -119,8 +126,11 @@ mod record {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn store() {
|
fn store() {
|
||||||
|
let data = "data";
|
||||||
let mut rec = Record::new();
|
let mut rec = Record::new();
|
||||||
rec.add_field("column", "data").unwrap();
|
rec.add_field("column", data).unwrap();
|
||||||
|
let output = rec.get_field("column").unwrap();
|
||||||
|
assert_eq!(output, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -131,7 +141,16 @@ mod record {
|
|||||||
Ok(_) => assert!(false, "Should have raised an error."),
|
Ok(_) => assert!(false, "Should have raised an error."),
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
assert_eq!(err.to_string(), "duplicate field");
|
assert_eq!(err.to_string(), "duplicate field");
|
||||||
},
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn missing_field() {
|
||||||
|
let rec = Record::new();
|
||||||
|
match rec.get_field("nothing") {
|
||||||
|
Ok(_) => assert!(false, "Should have errored."),
|
||||||
|
Err(err) => assert_eq!(err.to_string(), "missing field"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user