test: add get_stock_from_db_between_epochs() test

This commit is contained in:
realaltffour 2020-08-01 13:22:49 +03:00
parent 500f5d3927
commit dc81e741ad
No known key found for this signature in database
GPG Key ID: C1265D839D44DCB1

View File

@ -152,7 +152,52 @@ mod test {
counter += 1;
}
},
Err(err) => panic!("TEST_CMD_GET_STOCK_SINCE_EPOCH: {}", err)
Err(err) => panic!("TEST_CMD_GET_STOCK_SINCE_EPOCH_FAILED: {}", err)
}
}
#[test]
fn test_cmd_get_stock_from_db_between_epochs() {
/* create global state */
let mut state: GlobalState = GlobalState::default();
/* create stock to be tested */
create_stock(&mut state, "vava").unwrap();
/* insert some data into the stock */
let mut client = db_connect(&mut state, DB_USER, DB_PASS).unwrap();
client.execute("INSERT INTO asset_schema.vava VALUES (1, 999, 4, 50, 50, 10)", &[]).unwrap();
client.execute("INSERT INTO asset_schema.vava VALUES (2, 999, 5, 50, 50, 10)", &[]).unwrap();
client.execute("INSERT INTO asset_schema.vava VALUES (3, 999, 6, 50, 50, 10)", &[]).unwrap();
client.execute("INSERT INTO asset_schema.vava VALUES (4, 999, 7, 50, 50, 10)", &[]).unwrap();
client.execute("INSERT INTO asset_schema.vava VALUES (5, 999, 8, 50, 50, 10)", &[]).unwrap();
/* test get_stock_from_db_between_epochs() */
match get_stock_from_db_between_epochs(&mut state, "vava".into(), 5, 7) {
Ok(vals) => {
/* confirm that the data is correct */
assert_eq!(vals[0].id, 2);
assert_eq!(vals[0].isin, "999".to_string());
assert_eq!(vals[0].time_epoch, 5);
assert_eq!(vals[0].ask_price, 50);
assert_eq!(vals[0].bid_price, 50);
assert_eq!(vals[0].volume, 10);
assert_eq!(vals[1].id, 3);
assert_eq!(vals[1].isin, "999".to_string());
assert_eq!(vals[1].time_epoch, 6);
assert_eq!(vals[1].ask_price, 50);
assert_eq!(vals[1].bid_price, 50);
assert_eq!(vals[1].volume, 10);
assert_eq!(vals[2].id, 4);
assert_eq!(vals[2].isin, "999".to_string());
assert_eq!(vals[2].time_epoch, 7);
assert_eq!(vals[2].ask_price, 50);
assert_eq!(vals[2].bid_price, 50);
assert_eq!(vals[2].volume, 10);
},
Err(err) => panic!("TEST_CMD_GET_STOCK_BETWEEN_EPOCHS_FAILED: {}", err)
}
}
}