@@ -13,149 +13,151 @@ object EventedTests extends TestSuite {
13
13
14
14
15
15
def tests = utest.Tests {
16
- // "debounce" - {
17
- // "simple" - {
18
- // val a = Var(10)
19
- // val b = a.debounce(1000.millis)
20
- // a() = 5
21
- // assert(b.now == 10)
22
- //
23
- // eventually {
24
- // b.now == 5
25
- // }
26
- // val curr = b.now
27
- // a() = 2
28
- // assert(b.now == curr)
29
- //
30
- // eventually {
31
- // b.now == 2
32
- // }
33
- //
34
- // a() = 1
35
- // a() = 5
36
- // a() = 42
37
- //
38
- // assert(b.now == 2)
39
- //
40
- // eventually {
41
- // b.now == 42
42
- // }
43
- // }
44
- // "longer" - {
45
- // val a = Var(10)
46
- // val b = a.debounce(1000.millis)
47
- // val c = Rx( a() * 2 ).debounce(1000.millis)
48
- // var count = 0
49
- // val o = b.triggerLater { count += 1 }
50
- // a() = 5
51
- // eventually(
52
- // b.now == 5,
53
- // c.now == 10
54
- // )
55
- // a() = 2
56
- // assert(
57
- // b.now == 5,
58
- // c.now == 10
59
- // )
60
- //
61
- // a() = 7
62
- // assert(
63
- // b.now == 5,
64
- // c.now == 10
65
- // )
66
- //
67
- // eventually(
68
- // b.now == 7,
69
- // c.now == 14
70
- // )
71
- //
72
- // a() = 1
73
- // assert(
74
- // b.now == 7,
75
- // c.now == 14
76
- // )
77
- //
78
- // eventually(
79
- // b.now == 1,
80
- // c.now == 2
81
- // )
82
- //
83
- // a() = 3
84
- // a() = 4
85
- // a() = 42
86
- //
87
- // eventually(
88
- // b.now == 42,
89
- // c.now == 84
90
- // )
91
- //
92
- // assert(count == 4)
93
- // }
94
- // }
95
- // "delayed" - {
96
- // "simple" - {
97
- // val a = Var(10)
98
- // val b = a.delay(1000.millis)
99
- // a() = 5
100
- // assert(b.now == 10)
101
- // eventually(
102
- // b.now == 5
103
- // )
104
- // a() = 4
105
- // a() = 5
106
- // a() = 6
107
- // assert(b.now == 4)
108
- // eventually(
109
- // b.now == 5
110
- // )
111
- // eventually(
112
- // b.now == 6
113
- // )
114
- // }
115
- // "longer" - {
116
- // val a = Var(10)
117
- // val b = a.delay(1000 millis)
118
- // val c = Rx( a() * 2 ).delay(1000 millis)
119
- // var count = 0
120
- // c.trigger(count += 1)
121
- // a() = 5
122
- // assert(
123
- // b.now == 10,
124
- // c.now == 20
125
- // )
126
- // eventually(
127
- // b.now == 5,
128
- // c.now == 10
129
- // )
130
- //
131
- // a() = 4
132
- // assert(
133
- // b.now == 4,
134
- // c.now == 8
135
- // )
136
- // a() = 7
137
- // assert(
138
- // b.now == 4,
139
- // c.now == 8
140
- // )
141
- // eventually(
142
- // b.now == 7,
143
- // c.now == 14
144
- // )
145
- //
146
- // assert(count == 4)
147
- // }
148
- // }
149
- // "timer" - {
150
- // var count = 0
151
- // val timer = Timer(100.milli)
152
- // timer.foreach(i => count += 1)
153
- // eventually(count == 2)
154
- // eventually(count == 4)
155
- // timer.kill()
156
- // intercept[AssertionError] {
157
- // eventually(count == 6)
158
- // }
159
- // }
16
+ " debounce" - {
17
+ " simple" - {
18
+ val a = Var (10 )
19
+ val b = a.debounce(75 .millis)
20
+ a() = 5
21
+ assert(b.now == 10 )
22
+
23
+ eventually {
24
+ b.now == 5
25
+ }
26
+ val curr = b.now
27
+ a() = 2
28
+ assert(b.now == curr)
29
+
30
+ eventually {
31
+ b.now == 2
32
+ }
33
+
34
+ a() = 1
35
+ a() = 5
36
+ a() = 42
37
+
38
+ assert(b.now == 2 )
39
+
40
+ eventually {
41
+ b.now == 42
42
+ }
43
+ }
44
+ " longer" - {
45
+ val a = Var (10 )
46
+ val b = a.debounce(100 .millis)
47
+ val c = Rx (a() * 2 ).debounce(100 .millis)
48
+ var count = 0
49
+ val o = b.triggerLater {
50
+ count += 1
51
+ }
52
+ a() = 5
53
+ eventually(
54
+ b.now == 5 ,
55
+ c.now == 10
56
+ )
57
+ a() = 2
58
+ assert(
59
+ b.now == 5 ,
60
+ c.now == 10
61
+ )
62
+
63
+ a() = 7
64
+ assert(
65
+ b.now == 5 ,
66
+ c.now == 10
67
+ )
68
+
69
+ eventually(
70
+ b.now == 7 ,
71
+ c.now == 14
72
+ )
73
+
74
+ a() = 1
75
+ assert(
76
+ b.now == 7 ,
77
+ c.now == 14
78
+ )
79
+
80
+ eventually(
81
+ b.now == 1 ,
82
+ c.now == 2
83
+ )
84
+
85
+ a() = 3
86
+ a() = 4
87
+ a() = 42
88
+
89
+ eventually(
90
+ b.now == 42 ,
91
+ c.now == 84
92
+ )
93
+
94
+ assert(count == 4 )
95
+ }
96
+ }
97
+ " delayed" - {
98
+ " simple" - {
99
+ val a = Var (10 )
100
+ val b = a.delay(100 .millis)
101
+ a() = 5
102
+ assert(b.now == 10 )
103
+ eventually(
104
+ b.now == 5
105
+ )
106
+ a() = 4
107
+ a() = 5
108
+ a() = 6
109
+ assert(b.now == 4 )
110
+ eventually(
111
+ b.now == 5
112
+ )
113
+ eventually(
114
+ b.now == 6
115
+ )
116
+ }
117
+ " longer" - {
118
+ val a = Var (10 )
119
+ val b = a.delay(100 .millis)
120
+ val c = Rx ( a() * 2 ).delay(100 .millis)
121
+ var count = 0
122
+ c.trigger(count += 1 )
123
+ a() = 5
124
+ assert(
125
+ b.now == 10 ,
126
+ c.now == 20
127
+ )
128
+ eventually(
129
+ b.now == 5 ,
130
+ c.now == 10
131
+ )
132
+
133
+ a() = 4
134
+ assert(
135
+ b.now == 4 ,
136
+ c.now == 8
137
+ )
138
+ a() = 7
139
+ assert(
140
+ b.now == 4 ,
141
+ c.now == 8
142
+ )
143
+ eventually(
144
+ b.now == 7 ,
145
+ c.now == 14
146
+ )
147
+
148
+ assert(count == 4 )
149
+ }
150
+ }
151
+ " timer" - {
152
+ var count = 0
153
+ val timer = Timer (100 .millis)
154
+ timer.foreach(i => count += 1 )
155
+ eventually(count == 2 )
156
+ eventually(count == 4 )
157
+ timer.kill()
158
+ intercept[AssertionError ] {
159
+ eventually(count == 6 )
160
+ }
161
+ }
160
162
}
161
163
}
0 commit comments