This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
covers 'facets/integer/bitmask'
|
||||
|
||||
test_case Integer do
|
||||
|
||||
method :bit do
|
||||
test do
|
||||
0.bit(0).assert == 1
|
||||
0.bit(1).assert == 2
|
||||
0.bit(2).assert == 4
|
||||
0.bit(3).assert == 8
|
||||
end
|
||||
end
|
||||
|
||||
method :bit do
|
||||
test "negate" do
|
||||
1.bit(~0).assert == 0
|
||||
2.bit(~1).assert == 0
|
||||
4.bit(~2).assert == 0
|
||||
8.bit(~3).assert == 0
|
||||
end
|
||||
end
|
||||
|
||||
method :bit_clear do
|
||||
test do
|
||||
1.bit_clear(0).assert == 0
|
||||
2.bit_clear(1).assert == 0
|
||||
4.bit_clear(2).assert == 0
|
||||
8.bit_clear(3).assert == 0
|
||||
end
|
||||
end
|
||||
|
||||
method :bit? do
|
||||
test do
|
||||
a = 8
|
||||
assert(! a.bit?(0))
|
||||
assert(! a.bit?(1))
|
||||
assert(! a.bit?(2))
|
||||
assert( a.bit?(3))
|
||||
assert(! a.bit?(4))
|
||||
assert(! a.bit?(5))
|
||||
end
|
||||
end
|
||||
|
||||
method :bitmask do
|
||||
test do
|
||||
a = 1
|
||||
m = Bit(4)
|
||||
a = a.bitmask(m)
|
||||
a.assert == 17
|
||||
assert( a.bitmask?(m) )
|
||||
end
|
||||
end
|
||||
|
||||
method :bitmask? do
|
||||
test do
|
||||
7.assert.bitmask?(7)
|
||||
7.assert.bitmask?(5)
|
||||
8.refute.bitmask?(3)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
test_case Kernel do
|
||||
|
||||
method :Bit do
|
||||
test do
|
||||
n = Bit(4)
|
||||
n.assert == 16
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,30 @@
|
||||
covers 'facets/integer/factorial'
|
||||
|
||||
test_case Integer do
|
||||
|
||||
method :factorial do
|
||||
|
||||
test do
|
||||
0.factorial.assert == 1
|
||||
1.factorial.assert == 1
|
||||
2.factorial.assert == 2
|
||||
3.factorial.assert == 6
|
||||
4.factorial.assert == 24
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
method :fac do
|
||||
|
||||
test do
|
||||
0.fac.assert == 1
|
||||
1.fac.assert == 1
|
||||
2.fac.assert == 2
|
||||
3.fac.assert == 6
|
||||
4.fac.assert == 24
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
covers 'facets/integer/multiple'
|
||||
|
||||
test_case Integer do
|
||||
|
||||
method :multiple? do
|
||||
|
||||
test do
|
||||
assert( ! 1.multiple?(2) )
|
||||
assert( 2.multiple?(2) )
|
||||
assert( ! 5.multiple?(3) )
|
||||
assert( 6.multiple?(3) )
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,36 @@
|
||||
covers 'facets/integer/of'
|
||||
|
||||
test_case Integer do
|
||||
|
||||
method :of do
|
||||
|
||||
test do
|
||||
a = 4
|
||||
b = a.of{ |i| i*2 }
|
||||
b.assert == [0,2,4,6]
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
method :times_collect do
|
||||
|
||||
test do
|
||||
a = 4
|
||||
b = a.times_collect{ |i| i*2 }
|
||||
b.assert == [0,2,4,6]
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
method :times_map do
|
||||
|
||||
test do
|
||||
a = 4
|
||||
b = a.times_map{ |i| i*2 }
|
||||
b.assert == [0,2,4,6]
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
covers 'facets/integer/ordinal'
|
||||
|
||||
test_case Integer do
|
||||
|
||||
method :ordinal do
|
||||
|
||||
test do
|
||||
1.ordinal.assert == '1st'
|
||||
2.ordinal.assert == '2nd'
|
||||
3.ordinal.assert == '3rd'
|
||||
4.ordinal.assert == '4th'
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
method :ordinalize do
|
||||
|
||||
test do
|
||||
1.ordinalize.assert == '1st'
|
||||
2.ordinalize.assert == '2nd'
|
||||
3.ordinalize.assert == '3rd'
|
||||
4.ordinalize.assert == '4th'
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user