]> git.donarmstrong.com Git - biopieces.git/blobdiff - code_ruby/test/maasha/test_bitarray.rb
speed optimized interval_set and interval_unset in bitarray.rb - now evil fast
[biopieces.git] / code_ruby / test / maasha / test_bitarray.rb
index 6c410be7fb1bf38f8dfc787f95f705ac4ab8d358..6ec38eba70f6d5719428c894cd2a15ad8c8afd80 100755 (executable)
@@ -163,27 +163,38 @@ class TestBitArray < Test::Unit::TestCase
 
   def test_interval_set_with_bad_interval_raises
     assert_raise(BitArrayError) { @ba.interval_set(-1, 4) }
-    assert_raise(BitArrayError) { @ba.interval_set(1, 14) }
+    assert_raise(BitArrayError) { @ba.interval_set(1, 10) }
     assert_raise(BitArrayError) { @ba.interval_set(4, 2) }
   end
 
   def test_interval_set_returns_correctly
-    @ba.interval_set(1, 9)
-
-    assert_equal("0111111110", @ba.to_s)
+    @ba.interval_set(0, 0)
+    assert_equal("1000000000", @ba.to_s)
+    @ba.interval_set(9, 9)
+    assert_equal("1000000001", @ba.to_s)
+    @ba.interval_set(2, 7)
+    assert_equal("1011111101", @ba.to_s)
+    @ba.interval_set(1, 8)
+    assert_equal("1111111111", @ba.to_s)
   end
 
   def test_interval_unset_with_bad_interval_raises
     assert_raise(BitArrayError) { @ba.interval_unset(-1, 4) }
-    assert_raise(BitArrayError) { @ba.interval_unset(1, 14) }
+    assert_raise(BitArrayError) { @ba.interval_unset(1, 10) }
     assert_raise(BitArrayError) { @ba.interval_unset(4, 2) }
   end
 
   def test_interval_unset_returns_correctly
     ~@ba
-    @ba.interval_unset(1, 9)
 
-    assert_equal("1000000001", @ba.to_s)
+    @ba.interval_unset(0, 0)
+    assert_equal("0111111111", @ba.to_s)
+    @ba.interval_unset(9, 9)
+    assert_equal("0111111110", @ba.to_s)
+    @ba.interval_unset(2, 7)
+    assert_equal("0100000010", @ba.to_s)
+    @ba.interval_unset(1, 8)
+    assert_equal("0000000000", @ba.to_s)
   end
 
   def test_each_interval_returns_correctly