Added db session.
This commit is contained in:
62
src/morethantext/session.rs
Normal file
62
src/morethantext/session.rs
Normal file
@@ -0,0 +1,62 @@
|
||||
#[derive(Clone)]
|
||||
pub struct Session {
|
||||
data: Vec<String>,
|
||||
error: Option<String>,
|
||||
}
|
||||
|
||||
impl Session {
|
||||
pub fn new() -> Self {
|
||||
Self {
|
||||
data: Vec::new(),
|
||||
error: None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn push(&mut self, id: String) {
|
||||
self.data.push(id);
|
||||
}
|
||||
|
||||
pub fn append(&mut self, mut data: Vec<String>) {
|
||||
self.data.append(&mut data);
|
||||
}
|
||||
|
||||
pub fn get_data(&self) -> Vec<String> {
|
||||
self.data.clone()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod setup {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn add_item() {
|
||||
let mut sess = Session::new();
|
||||
let id = "frog".to_string();
|
||||
sess.push(id.clone());
|
||||
assert!(sess.data.contains(&id), "{} not in {:?}", id, sess.data);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn add_list() {
|
||||
let mut sess = Session::new();
|
||||
let mut data: Vec<String> = Vec::new();
|
||||
data.push("fred".to_string());
|
||||
data.push("barney".to_string());
|
||||
sess.append(data.clone());
|
||||
assert_eq!(sess.data, data);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod data {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn show_data() {
|
||||
let data = ["pne".to_string(), "two".to_string(), "three".to_string()];
|
||||
let mut sess = Session::new();
|
||||
sess.append(data.to_vec());
|
||||
assert_eq!(sess.get_data(), data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user