提交 f99d3317 authored 作者: Serhij S's avatar Serhij S

optimized insta tests

上级 2cbe39c4
...@@ -326,7 +326,7 @@ mod test { ...@@ -326,7 +326,7 @@ mod test {
event_matches!(Message::Temperature(_) | Message::Humidity(_)), event_matches!(Message::Temperature(_) | Message::Humidity(_)),
) )
.unwrap(); .unwrap();
for _ in 0..10 { for _ in 0..3 {
sender.send(Message::Temperature(1.0)); sender.send(Message::Temperature(1.0));
sender.send(Message::Humidity(2.0)); sender.send(Message::Humidity(2.0));
sender.send(Message::Test); sender.send(Message::Test);
...@@ -335,7 +335,7 @@ mod test { ...@@ -335,7 +335,7 @@ mod test {
while let Ok(msg) = recv.try_recv() { while let Ok(msg) = recv.try_recv() {
messages.push(msg); messages.push(msg);
} }
insta::assert_snapshot!(messages.len()); insta::assert_snapshot!(messages.len(), @"6");
insta::assert_debug_snapshot!(messages); insta::assert_debug_snapshot!(messages);
} }
} }
...@@ -325,7 +325,7 @@ mod test { ...@@ -325,7 +325,7 @@ mod test {
event_matches!(Message::Temperature(_) | Message::Humidity(_)), event_matches!(Message::Temperature(_) | Message::Humidity(_)),
) )
.unwrap(); .unwrap();
for _ in 0..10 { for _ in 0..3 {
sender.send(Message::Temperature(1.0)).await; sender.send(Message::Temperature(1.0)).await;
sender.send(Message::Humidity(2.0)).await; sender.send(Message::Humidity(2.0)).await;
sender.send(Message::Test).await; sender.send(Message::Test).await;
...@@ -334,7 +334,7 @@ mod test { ...@@ -334,7 +334,7 @@ mod test {
while let Ok(msg) = client1.try_recv() { while let Ok(msg) = client1.try_recv() {
messages.push(msg); messages.push(msg);
} }
insta::assert_snapshot!(messages.len()); insta::assert_snapshot!(messages.len(), @"6");
insta::assert_debug_snapshot!(messages); insta::assert_debug_snapshot!(messages);
} }
} }
...@@ -333,8 +333,7 @@ mod test { ...@@ -333,8 +333,7 @@ mod test {
} }
messages.push(msg); messages.push(msg);
} }
insta::assert_debug_snapshot!(messages.len()); insta::assert_debug_snapshot!(messages.len(), @"20");
insta::assert_debug_snapshot!(messages);
} }
#[test] #[test]
...@@ -352,18 +351,15 @@ mod test { ...@@ -352,18 +351,15 @@ mod test {
thread::sleep(Duration::from_secs(1)); thread::sleep(Duration::from_secs(1));
let mut c = 0; let mut c = 0;
let mut t = 0; let mut t = 0;
let mut messages = Vec::new();
while let Ok(msg) = rx.recv() { while let Ok(msg) = rx.recv() {
match msg { match msg {
Message::Test(_) => c += 1, Message::Test(_) => c += 1,
Message::Temperature(_) => t += 1, Message::Temperature(_) => t += 1,
Message::Spam => {} Message::Spam => {}
} }
messages.push(msg);
} }
insta::assert_snapshot!(c); insta::assert_snapshot!(c, @"10");
insta::assert_snapshot!(t); insta::assert_snapshot!(t, @"1");
insta::assert_debug_snapshot!(messages);
} }
#[test] #[test]
......
...@@ -498,8 +498,7 @@ mod test { ...@@ -498,8 +498,7 @@ mod test {
} }
messages.push(msg); messages.push(msg);
} }
insta::assert_debug_snapshot!(messages.len()); insta::assert_debug_snapshot!(messages.len(), @"20");
insta::assert_debug_snapshot!(messages);
} }
#[tokio::test] #[tokio::test]
...@@ -517,18 +516,15 @@ mod test { ...@@ -517,18 +516,15 @@ mod test {
thread::sleep(Duration::from_secs(1)); thread::sleep(Duration::from_secs(1));
let mut c = 0; let mut c = 0;
let mut t = 0; let mut t = 0;
let mut messages = Vec::new();
while let Ok(msg) = rx.recv().await { while let Ok(msg) = rx.recv().await {
match msg { match msg {
Message::Test(_) => c += 1, Message::Test(_) => c += 1,
Message::Temperature(_) => t += 1, Message::Temperature(_) => t += 1,
Message::Spam => {} Message::Spam => {}
} }
messages.push(msg);
} }
insta::assert_snapshot!(c); insta::assert_snapshot!(c, @"10");
insta::assert_snapshot!(t); insta::assert_snapshot!(t, @"1");
insta::assert_debug_snapshot!(messages);
} }
#[tokio::test] #[tokio::test]
......
...@@ -21,46 +21,4 @@ expression: messages ...@@ -21,46 +21,4 @@ expression: messages
Humidity( Humidity(
2.0, 2.0,
), ),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
] ]
---
source: src/hub.rs
expression: messages.len()
---
20
...@@ -21,46 +21,4 @@ expression: messages ...@@ -21,46 +21,4 @@ expression: messages
Humidity( Humidity(
2.0, 2.0,
), ),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
Temperature(
1.0,
),
Humidity(
2.0,
),
] ]
---
source: src/hub_async.rs
expression: messages.len()
---
20
---
source: src/pchannel.rs
expression: messages
---
[
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
]
---
source: src/pchannel.rs
expression: messages.len()
---
20
---
source: src/pchannel.rs
expression: messages
---
[
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Temperature(
123.0,
),
]
---
source: src/pchannel_async.rs
expression: messages
---
[
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
Test(
123,
),
Temperature(
123.0,
),
]
---
source: src/pchannel_async.rs
expression: messages.len()
---
20
---
source: src/pchannel_async.rs
expression: messages
---
[
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Test(
123,
),
Spam,
Temperature(
123.0,
),
]
---
source: src/ttlcell.rs
expression: opt.as_ref().copied()
---
None
---
source: src/ttlcell.rs
expression: opt.as_ref().copied()
---
Some(
30,
)
---
source: src/ttlcell.rs
expression: opt.as_ref().copied()
---
None
---
source: src/ttlcell.rs
expression: opt.as_ref().copied()
---
Some(
25,
)
...@@ -146,42 +146,62 @@ mod test { ...@@ -146,42 +146,62 @@ mod test {
let ttl = Duration::from_millis(10); let ttl = Duration::from_millis(10);
let mut opt = TtlCell::new_with_value(ttl, 25); let mut opt = TtlCell::new_with_value(ttl, 25);
thread::sleep(ttl / 2); thread::sleep(ttl / 2);
insta::assert_debug_snapshot!(opt.as_ref().copied()); insta::assert_debug_snapshot!(opt.as_ref().copied(), @r###"
Some(
25,
)
"###);
thread::sleep(ttl); thread::sleep(ttl);
insta::assert_debug_snapshot!(opt.as_ref().copied()); insta::assert_debug_snapshot!(opt.as_ref().copied(), @"None");
opt.set(30); opt.set(30);
thread::sleep(ttl / 2); thread::sleep(ttl / 2);
insta::assert_debug_snapshot!(opt.as_ref().copied()); insta::assert_debug_snapshot!(opt.as_ref().copied(), @r###"
Some(
30,
)
"###);
thread::sleep(ttl); thread::sleep(ttl);
insta::assert_debug_snapshot!(opt.as_ref().copied()); insta::assert_debug_snapshot!(opt.as_ref().copied(), @"None");
} }
#[test] #[test]
fn test_take_replace() { fn test_take_replace() {
let ttl = Duration::from_millis(10); let ttl = Duration::from_millis(10);
let mut opt = TtlCell::new_with_value(ttl, 25); let mut opt = TtlCell::new_with_value(ttl, 25);
thread::sleep(ttl / 2); thread::sleep(ttl / 2);
assert_eq!(opt.take(), Some(25)); insta::assert_debug_snapshot!(opt.take(), @r###"
assert_eq!(opt.as_ref().copied(), None); Some(
25,
)
"###);
insta::assert_debug_snapshot!(opt.as_ref().copied(), @"None");
opt.set(30); opt.set(30);
thread::sleep(ttl / 2); thread::sleep(ttl / 2);
assert_eq!(opt.replace(29), Some(30)); insta::assert_debug_snapshot!(opt.replace(29), @r###"
assert_eq!(opt.as_ref().copied(), Some(29)); Some(
30,
)
"###);
thread::sleep(ttl); thread::sleep(ttl);
assert_eq!(opt.as_ref().copied(), None); insta::assert_debug_snapshot!(opt.as_ref().copied(), @"None");
} }
#[test] #[test]
fn test_take_with() { fn test_take_with() {
let mut first = TtlCell::new_with_value(Duration::from_secs(1), 25); let mut first = TtlCell::new_with_value(Duration::from_secs(1), 25);
thread::sleep(Duration::from_millis(10)); thread::sleep(Duration::from_millis(10));
let mut second = TtlCell::new_with_value(Duration::from_secs(1), 25); let mut second = TtlCell::new_with_value(Duration::from_secs(1), 25);
assert!(first insta::assert_debug_snapshot!(first
.take_with(&mut second, Duration::from_millis(100)) .take_with(&mut second, Duration::from_millis(100)), @r###"
.is_some()); Some(
(
25,
25,
),
)
"###);
let mut first = TtlCell::new_with_value(Duration::from_secs(1), 25); let mut first = TtlCell::new_with_value(Duration::from_secs(1), 25);
thread::sleep(Duration::from_millis(100)); thread::sleep(Duration::from_millis(100));
let mut second = TtlCell::new_with_value(Duration::from_secs(1), 25); let mut second = TtlCell::new_with_value(Duration::from_secs(1), 25);
assert!(first insta::assert_debug_snapshot!(
.take_with(&mut second, Duration::from_millis(50)) first.take_with(&mut second, Duration::from_millis(50)), @"None");
.is_none());
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论