1 use crate::{
2     Literal, BoolLit,
3     test_util::assert_parse_ok_eq,
4 };
5 
6 macro_rules! assert_bool_parse {
7     ($input:literal, $expected:expr) => {
8         assert_parse_ok_eq(
9             $input, Literal::parse($input), Literal::Bool($expected), "Literal::parse");
10         assert_parse_ok_eq($input, BoolLit::parse($input), $expected, "BoolLit::parse");
11     };
12 }
13 
14 
15 
16 #[test]
parse_ok()17 fn parse_ok() {
18     assert_bool_parse!("false", BoolLit::False);
19     assert_bool_parse!("true", BoolLit::True);
20 }
21 
22 #[test]
parse_err()23 fn parse_err() {
24     assert!(Literal::parse("fa").is_err());
25     assert!(Literal::parse("fal").is_err());
26     assert!(Literal::parse("fals").is_err());
27     assert!(Literal::parse(" false").is_err());
28     assert!(Literal::parse("false ").is_err());
29     assert!(Literal::parse("False").is_err());
30 
31     assert!(Literal::parse("tr").is_err());
32     assert!(Literal::parse("tru").is_err());
33     assert!(Literal::parse(" true").is_err());
34     assert!(Literal::parse("true ").is_err());
35     assert!(Literal::parse("True").is_err());
36 }
37 
38 #[test]
value()39 fn value() {
40     assert!(!BoolLit::False.value());
41     assert!(BoolLit::True.value());
42 }
43 
44 #[test]
as_str()45 fn as_str() {
46     assert_eq!(BoolLit::False.as_str(), "false");
47     assert_eq!(BoolLit::True.as_str(), "true");
48 }
49