salsa/tests/storage_varieties/tests.rs
Niko Matsakis cd5622c6de make query method get by default
Use `Query.set(db, key, value)` to set. Not sure about this.
2018-10-05 05:28:51 -04:00

34 lines
703 B
Rust

#![cfg(test)]
use crate::implementation::DatabaseImpl;
use crate::queries::Database;
#[test]
fn memoized_twice() {
let query = DatabaseImpl::default();
let v1 = query.memoized(());
let v2 = query.memoized(());
assert_eq!(v1, v2);
}
#[test]
fn volatile_twice() {
let query = DatabaseImpl::default();
let v1 = query.volatile(());
let v2 = query.volatile(());
assert_eq!(v1 + 1, v2);
}
#[test]
fn intermingled() {
let query = DatabaseImpl::default();
let v1 = query.volatile(());
let v2 = query.memoized(());
let v3 = query.volatile(());
let v4 = query.memoized(());
assert_eq!(v1 + 1, v2);
assert_eq!(v2 + 1, v3);
assert_eq!(v2, v4);
}