1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
use macon::Builder;
// #############################################################################
// ################################### INPUT ###################################
// #############################################################################
use std::path::PathBuf;
#[derive(Builder)]
#[builder(mode=Typestate)]
#[derive(PartialEq,Debug)]
struct Foobar(
PathBuf,
PathBuf,
);
// #############################################################################
// ################################### TESTS ###################################
// #############################################################################
#[test]
fn builder_build_unordered() {
let built = Foobar::builder()
.set1("/tmp/builder_build.1")
.set0("/tmp/builder_build.0")
.build();
assert_eq!(
Foobar(
PathBuf::from("/tmp/builder_build.0"),
PathBuf::from("/tmp/builder_build.1"),
),
built,
);
}
#[test]
fn builder_build_ordered() {
let built = Foobar::builder()
.set("/tmp/builder_build.0")
.set("/tmp/builder_build.1")
.build();
assert_eq!(
Foobar(
PathBuf::from("/tmp/builder_build.0"),
PathBuf::from("/tmp/builder_build.1"),
),
built,
);
}
#[test]
fn builder_into() {
let built: Foobar = Foobar::builder()
.set0("/tmp/builder_into.0")
.set1("/tmp/builder_into.1")
.into();
assert_eq!(
Foobar(
PathBuf::from("/tmp/builder_into.0"),
PathBuf::from("/tmp/builder_into.1"),
),
built,
);
}