File tree 2 files changed +41
-2
lines changed
2 files changed +41
-2
lines changed Original file line number Diff line number Diff line change
1
+ defmodule RBSetPropTest do
2
+ @ moduledoc """
3
+ Property-testing RBSet
4
+ """
5
+
6
+ use ExUnit.Case , async: true
7
+ use Quixir
8
+ import RBSet
9
+ doctest RBSet
10
+
11
+ test "check monoid" do
12
+ ptest numbers1: list ( of: positive_int ( ) , size: 10 ) ,
13
+ numbers2: list ( of: positive_int ( ) , size: 10 ) do
14
+ set1 = RBSet . new ( numbers1 )
15
+ set2 = RBSet . new ( numbers2 )
16
+ emp = RBSet . new ( )
17
+
18
+ new_set = set1 ||| emp
19
+ assert RBSet . to_list ( set1 ) == RBSet . to_list ( new_set )
20
+
21
+ new_set = emp ||| set1
22
+ assert RBSet . to_list ( set1 ) == RBSet . to_list ( new_set )
23
+
24
+ set12 = set1 ||| set2
25
+ set21 = set2 ||| set1
26
+ assert RBSet . to_list ( set12 ) == RBSet . to_list ( set21 )
27
+ end
28
+ end
29
+
30
+ test "check insert" do
31
+ ptest values: list ( size: 10 ) do
32
+ set = RBSet . new ( )
33
+
34
+ Enum . each ( values , fn value ->
35
+ set = RBSet . put ( set , value )
36
+ assert RBSet . member? ( set , value )
37
+ end )
38
+ end
39
+ end
40
+ end
Original file line number Diff line number Diff line change 1
1
defmodule RBSetTest do
2
2
@ moduledoc """
3
- Testing RBSet
3
+ Unit-testing RBSet
4
4
"""
5
5
6
6
use ExUnit.Case , async: true
7
-
8
7
import RBSet
9
8
doctest RBSet
10
9
You can’t perform that action at this time.
0 commit comments