aboutsummaryrefslogtreecommitdiffstats
path: root/log_db/tests/integration.rs
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-01-13 22:32:51 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-01-13 22:32:51 +0200
commit3182bcbabd610579b29d33eacb1839800a0cd545 (patch)
treeb6ac1e98851016eb539d78f77948f5f7303d7545 /log_db/tests/integration.rs
parent28aa7061a0148e7da34229be7e49bff82f64bbf0 (diff)
Add test for range_by
Diffstat (limited to 'log_db/tests/integration.rs')
-rw-r--r--log_db/tests/integration.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/log_db/tests/integration.rs b/log_db/tests/integration.rs
index 2dc1c04..2ef04d1 100644
--- a/log_db/tests/integration.rs
+++ b/log_db/tests/integration.rs
@@ -569,3 +569,51 @@ fn test_delete_by() {
1
);
}
+
+#[test]
+fn test_range_by_id() {
+ let data_dir = tmp_dir();
+ let mut db = DB::<Inst>::configure()
+ .data_dir(&data_dir)
+ .initialize()
+ .expect("Failed to initialize DB instance");
+
+ let inserted_ids = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+
+ for id in inserted_ids.iter() {
+ db.upsert(Inst {
+ id: *id,
+ name: Some("Foobar".to_string()),
+ data: vec![],
+ })
+ .unwrap();
+ }
+
+ // Test range [3, 7)
+ let received = db
+ .range_by(&Field::Id, &Value::Int(3)..&Value::Int(7))
+ .unwrap();
+ let received_ids: Vec<i64> = received.iter().map(|inst| inst.id).collect();
+
+ assert_eq!(received_ids, vec![3, 4, 5, 6]);
+
+ // Test range [3, 7]
+ let received = db
+ .range_by(&Field::Id, &Value::Int(3)..=&Value::Int(7))
+ .unwrap();
+ let received_ids: Vec<i64> = received.iter().map(|inst| inst.id).collect();
+
+ assert_eq!(received_ids, vec![3, 4, 5, 6, 7]);
+
+ // Test range (-inf, 7]
+ let received = db.range_by(&Field::Id, ..=&Value::Int(7)).unwrap();
+ let received_ids: Vec<i64> = received.iter().map(|inst| inst.id).collect();
+
+ assert_eq!(received_ids, vec![0, 1, 2, 3, 4, 5, 6, 7]);
+
+ // Test range (3, inf)
+ let received = db.range_by(&Field::Id, &Value::Int(3)..).unwrap();
+ let received_ids: Vec<i64> = received.iter().map(|inst| inst.id).collect();
+
+ assert_eq!(received_ids, vec![3, 4, 5, 6, 7, 8, 9]);
+}