44 lines
No EOL
1.4 KiB
Text
44 lines
No EOL
1.4 KiB
Text
(namespace tests.set
|
|
(test.case "set.empty?"
|
|
(assert.ok! (set.empty? (set.new)))
|
|
(assert.not! (set.empty? (set.new 1)))
|
|
)
|
|
|
|
(test.case "set.len"
|
|
(assert.eq! (set.len (set.new)) 0)
|
|
(assert.eq! (set.len (set.new 1)) 1)
|
|
(assert.eq! (set.len (set.new 1 2 3)) 3)
|
|
)
|
|
|
|
(test.case "set.has"
|
|
(assert.ok! (set.has (set.new 1 2 3) 2))
|
|
(assert.not! (set.has (set.new 1 2 3) 5))
|
|
)
|
|
|
|
(test.case "set.add"
|
|
(assert.ok! (set.has (set.add (set.new 1 2) 3) 3))
|
|
(assert.eq! (set.len (set.add (set.new 1 2) 3)) 3)
|
|
)
|
|
|
|
(test.case "set.remove"
|
|
(assert.not! (set.has (set.remove (set.new 1 2 3) 2) 2))
|
|
(assert.eq! (set.len (set.remove (set.new 1 2 3) 2)) 2)
|
|
)
|
|
|
|
(test.case "set.union"
|
|
(assert.eq! (set.len (set.union (set.new 1 2) (set.new 2 3))) 3)
|
|
(assert.ok! (set.has (set.union (set.new 1 2) (set.new 2 3)) 1))
|
|
(assert.ok! (set.has (set.union (set.new 1 2) (set.new 2 3)) 3))
|
|
)
|
|
|
|
(test.case "set.intersection"
|
|
(assert.eq! (set.len (set.intersection (set.new 1 2 3) (set.new 2 3 4))) 2)
|
|
(assert.ok! (set.has (set.intersection (set.new 1 2 3) (set.new 2 3 4)) 2))
|
|
(assert.ok! (set.has (set.intersection (set.new 1 2 3) (set.new 2 3 4)) 3))
|
|
)
|
|
|
|
(test.case "set.difference"
|
|
(assert.eq! (set.len (set.difference (set.new 1 2 3) (set.new 2 3))) 1)
|
|
(assert.ok! (set.has (set.difference (set.new 1 2 3) (set.new 2 3)) 1))
|
|
)
|
|
) |