salsa/tests/storage_varieties/tests.rs
Niko Matsakis 2d2bdfe7f1 move incremental, storage_varieties to tests
They aren't meant to be things to model oneself after.
2018-09-30 07:01:21 -04:00

34 lines
763 B
Rust

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