]> git.lizzy.rs Git - enumset.git/commitdiff
Add tests for the iteration order of enumsets.
authorAlissa Rao <lymia@lymiahugs.com>
Mon, 4 Apr 2022 07:48:04 +0000 (00:48 -0700)
committerAlissa Rao <lymia@lymiahugs.com>
Mon, 4 Apr 2022 07:48:04 +0000 (00:48 -0700)
enumset/tests/ops.rs

index b76881e3df25b8d5f2edec352c7475f4ceeadd13..2dbf6e8cc97d82e5b7fbddd526fbd56b9f5b5478 100644 (file)
@@ -201,6 +201,17 @@ macro_rules! test_enum {
             assert_eq!(set, set_5);
         }
 
+        #[test]
+        fn iter_ordering_test() {
+            let set_a = $e::A | $e::B | $e::E;
+            let vec_a: Vec<_> = set_a.iter().collect();
+            assert_eq!(vec_a, &[$e::A, $e::B, $e::E]);
+
+            let set_a = $e::B | $e::D | $e::G;
+            let vec_a: Vec<_> = set_a.iter().collect();
+            assert_eq!(vec_a, &[$e::B, $e::D, $e::G]);
+        }
+
         fn check_iter_size_hint(set: EnumSet<$e>) {
             let count = set.len();
             let mut itr = set.iter();