mirror of
https://github.com/salsa-rs/salsa.git
synced 2024-11-24 12:16:25 +00:00
37 lines
815 B
Rust
37 lines
815 B
Rust
//! Tests that code using the builder's durability methods compiles.
|
|
|
|
use salsa::Durability;
|
|
use test_log::test;
|
|
|
|
#[salsa::input]
|
|
struct MyInput {
|
|
required_field: bool,
|
|
|
|
#[default]
|
|
optional_field: usize,
|
|
}
|
|
|
|
#[test]
|
|
fn required_field_durability() {
|
|
let db = salsa::DatabaseImpl::new();
|
|
|
|
let input = MyInput::builder(true)
|
|
.required_field_durability(Durability::HIGH)
|
|
.new(&db);
|
|
|
|
assert!(input.required_field(&db));
|
|
assert_eq!(input.optional_field(&db), 0);
|
|
}
|
|
|
|
#[test]
|
|
fn optional_field_durability() {
|
|
let db = salsa::DatabaseImpl::new();
|
|
|
|
let input = MyInput::builder(true)
|
|
.optional_field(20)
|
|
.optional_field_durability(Durability::HIGH)
|
|
.new(&db);
|
|
|
|
assert!(input.required_field(&db));
|
|
assert_eq!(input.optional_field(&db), 20);
|
|
}
|