Skip to content

Commit cbca70b

Browse files
committed
test: 🚨 add property-tests for rb_set
1 parent 38caa06 commit cbca70b

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

test/rb_set_prop_test.exs

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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

test/rb_set_test.exs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
defmodule RBSetTest do
22
@moduledoc """
3-
Testing RBSet
3+
Unit-testing RBSet
44
"""
55

66
use ExUnit.Case, async: true
7-
87
import RBSet
98
doctest RBSet
109

0 commit comments

Comments
 (0)