/test/lib/numeric/natural/test_natural4.e

http://github.com/tybor/Liberty · Specman e · 103 lines · 80 code · 21 blank · 2 comment · 0 complexity · 573c9c5a2c55f6785d995b1401eea364 MD5 · raw file

  1. class TEST_NATURAL4
  2. inherit
  3. EIFFELTEST_TOOLS
  4. create {}
  5. main
  6. feature {}
  7. main
  8. local
  9. n64: NATURAL_64; debug_view: STRING
  10. do
  11. -- Testing {NUMBER}.is_natural_64:
  12. assert(("0").to_number.is_natural_64)
  13. assert(("255").to_number.is_natural_64)
  14. assert(("256").to_number.is_natural_64)
  15. assert(("65535").to_number.is_natural_64)
  16. assert(("65536").to_number.is_natural_64)
  17. assert(("4294967295").to_number.is_natural_64)
  18. assert(("4294967296").to_number.is_natural_64)
  19. assert(("18446744073709551615").to_number.is_natural_64)
  20. assert(not ("-1").to_number.is_natural_64)
  21. assert(not ("18446744073709551616").to_number.is_natural_64)
  22. -- Testing {NUMBER}.to_natural_64:
  23. n64 := ("0").to_number.to_natural_64
  24. assert(n64 = 0.to_natural_64)
  25. debug_view := n64.to_string
  26. assert(n64.to_string.is_equal("0"))
  27. n64 := ("255").to_number.to_natural_64
  28. assert(n64 = 255.to_natural_64)
  29. debug_view := n64.to_string
  30. assert(n64.to_string.is_equal("255"))
  31. n64 := ("256").to_number.to_natural_64
  32. assert(n64 = 256.to_natural_64)
  33. debug_view := n64.to_string
  34. assert(n64.to_string.is_equal("256"))
  35. n64 := ("65535").to_number.to_natural_64
  36. assert(n64 = 65535.to_natural_64)
  37. debug_view := n64.to_string
  38. assert(n64.to_string.is_equal("65535"))
  39. n64 := ("65536").to_number.to_natural_64
  40. assert(n64 = 65536.to_natural_64)
  41. debug_view := n64.to_string
  42. assert(n64.to_string.is_equal("65536"))
  43. n64 := ("4294967295").to_number.to_natural_64
  44. assert(n64 = 4294967295.to_natural_64)
  45. debug_view := n64.to_string
  46. assert(n64.to_string.is_equal("4294967295"))
  47. n64 := ("4294967296").to_number.to_natural_64
  48. assert(n64 = 4294967296.to_natural_64)
  49. debug_view := n64.to_string
  50. assert(n64.to_string.is_equal("4294967296"))
  51. n64 := ("18446744073709551614").to_number.to_natural_64
  52. debug_view := n64.to_string
  53. assert(n64.to_string.is_equal("18446744073709551614"))
  54. n64 := ("18446744073709551615").to_number.to_natural_64
  55. debug_view := n64.to_string
  56. assert(n64.to_string.is_equal("18446744073709551615"))
  57. debug_view := 0.to_natural_8.bit_not.to_string
  58. assert(debug_view.is_equal("255"))
  59. debug_view := 0.to_natural_16.bit_not.to_string
  60. assert(debug_view.is_equal("65535"))
  61. debug_view := 0.to_natural_32.bit_not.to_string
  62. assert(debug_view.is_equal("4294967295"))
  63. debug_view := 0.to_natural_64.bit_not.to_string
  64. assert(debug_view.is_equal("18446744073709551615"))
  65. assert(1.to_natural_8.bit_rotate_left(1) = 2.to_natural_8)
  66. assert(1.to_natural_16.bit_rotate_left(1) = 2.to_natural_16)
  67. assert(1.to_natural_32.bit_rotate_left(1) = 2.to_natural_32)
  68. assert(1.to_natural_64.bit_rotate_left(1) = 2.to_natural_64)
  69. assert(1.to_natural_8.bit_rotate(-1) = 2.to_natural_8)
  70. assert(1.to_natural_16.bit_rotate(-1) = 2.to_natural_16)
  71. assert(1.to_natural_32.bit_rotate(-1) = 2.to_natural_32)
  72. assert(1.to_natural_64.bit_rotate(-1) = 2.to_natural_64)
  73. assert(128.to_natural_8.bit_rotate_right(1) = 64.to_natural_8)
  74. assert(128.to_natural_16.bit_rotate_right(1) = 64.to_natural_16)
  75. assert(128.to_natural_32.bit_rotate_right(1) = 64.to_natural_32)
  76. assert(128.to_natural_64.bit_rotate_right(1) = 64.to_natural_64)
  77. assert(128.to_natural_8.bit_rotate(1) = 64.to_natural_8)
  78. assert(128.to_natural_16.bit_rotate(1) = 64.to_natural_16)
  79. assert(128.to_natural_32.bit_rotate(1) = 64.to_natural_32)
  80. assert(128.to_natural_64.bit_rotate(1) = 64.to_natural_64)
  81. end
  82. end