@@ -88,4 +88,54 @@ mod test {
88
88
assert_eq ! ( set. len( ) , 1 ) ;
89
89
Ok ( ( ) )
90
90
}
91
+
92
+ #[ test]
93
+ fn test_is_empty ( ) -> anyhow:: Result < ( ) > {
94
+ let mut set = HashSet :: new ( ) ;
95
+ set. insert ( 1 ) ;
96
+ let set = NonEmptyHashSet :: new ( set) ?;
97
+ assert ! ( !set. is_empty( ) ) ;
98
+ Ok ( ( ) )
99
+ }
100
+
101
+ #[ test]
102
+ fn test_insert ( ) -> anyhow:: Result < ( ) > {
103
+ let mut set_origin = HashSet :: new ( ) ;
104
+ set_origin. insert ( 1 ) ;
105
+
106
+ let set = NonEmptyHashSet :: new ( set_origin. clone ( ) ) ?. insert ( 2 ) ;
107
+
108
+ set_origin. insert ( 2 ) ;
109
+ assert_eq ! ( set. into_value( ) , set_origin) ;
110
+ Ok ( ( ) )
111
+ }
112
+
113
+ #[ test]
114
+ fn test_is_get ( ) -> anyhow:: Result < ( ) > {
115
+ let mut set = HashSet :: new ( ) ;
116
+ set. insert ( 1 ) ;
117
+ let set = NonEmptyHashSet :: new ( set) ?;
118
+ assert_eq ! ( set. get( & 1 ) , Some ( & 1 ) ) ;
119
+ Ok ( ( ) )
120
+ }
121
+
122
+ #[ test]
123
+ fn test_is_contains ( ) -> anyhow:: Result < ( ) > {
124
+ let mut set_origin = HashSet :: new ( ) ;
125
+ set_origin. insert ( 1 ) ;
126
+ let set = NonEmptyHashSet :: new ( set_origin. clone ( ) ) ?. insert ( 2 ) ;
127
+ assert ! ( set. contains( & 1 ) ) ;
128
+ Ok ( ( ) )
129
+ }
130
+
131
+ #[ test]
132
+ fn test_is_difference ( ) -> anyhow:: Result < ( ) > {
133
+ let mut set_origin = HashSet :: new ( ) ;
134
+ set_origin. insert ( 1 ) ;
135
+ let set = NonEmptyHashSet :: new ( set_origin. clone ( ) ) ?. insert ( 2 ) ;
136
+ let difference = set. difference ( & set_origin) ;
137
+ assert_eq ! ( difference. count( ) , 1 ) ;
138
+ assert_eq ! ( set. difference( & set_origin) . next( ) , Some ( & 2 ) ) ;
139
+ Ok ( ( ) )
140
+ }
91
141
}
0 commit comments