mirror of
https://github.com/salsa-rs/salsa.git
synced 2024-10-23 20:59:51 +00:00
2d2bdfe7f1
They aren't meant to be things to model oneself after.
34 lines
763 B
Rust
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);
|
|
}
|