PageRenderTime 117ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

/vendor/gems/facets-2.4.5/test/core/integer/test_bitmask.rb

https://bitbucket.org/mediashelf/fedora-migrator
Ruby | 53 lines | 42 code | 10 blank | 1 comment | 0 complexity | 2f106e6568855832736694efd0ca254f MD5 | raw file
Possible License(s): GPL-3.0, GPL-2.0, IPL-1.0, AGPL-1.0, LGPL-3.0
  1. # Test for facets/integer/bitmask
  2. require 'facets/bitmask.rb'
  3. require 'test/unit'
  4. class TestIntegerBitmask < Test::Unit::TestCase
  5. def test_bit
  6. assert_equal( 1, 0.bit(0) )
  7. assert_equal( 2, 0.bit(1) )
  8. assert_equal( 4, 0.bit(2) )
  9. assert_equal( 8, 0.bit(3) )
  10. end
  11. def test_negate_bit
  12. assert_equal( 0, 1.bit(~0) )
  13. assert_equal( 0, 2.bit(~1) )
  14. assert_equal( 0, 4.bit(~2) )
  15. assert_equal( 0, 8.bit(~3) )
  16. end
  17. def test_clear_bit
  18. assert_equal( 0, 1.clear_bit(0) )
  19. assert_equal( 0, 2.clear_bit(1) )
  20. assert_equal( 0, 4.clear_bit(2) )
  21. assert_equal( 0, 8.clear_bit(3) )
  22. end
  23. def test_bit?
  24. a = 8
  25. assert(! a.bit?(0))
  26. assert(! a.bit?(1))
  27. assert(! a.bit?(2))
  28. assert(a.bit?(3))
  29. assert(! a.bit?(4))
  30. assert(! a.bit?(5))
  31. end
  32. def test_bitmask
  33. a = 1
  34. m = Bit(4)
  35. a = a.bitmask(m)
  36. assert_equal( 17, a )
  37. assert( a.bitmask?(m) )
  38. end
  39. def test_Bit
  40. n = Bit(4)
  41. assert_equal(16, n)
  42. end
  43. end