/test/lib/numeric/integer/test_integer7.e

http://github.com/tybor/Liberty · Specman e · 131 lines · 102 code · 5 blank · 24 comment · 1 complexity · 2cbd340bfcd73a38c310d8b366c5ac61 MD5 · raw file

  1. -- This file is part of SmartEiffel The GNU Eiffel Compiler Tools and Libraries.
  2. -- See the Copyright notice at the end of this file.
  3. --
  4. class TEST_INTEGER7
  5. --
  6. -- Test of bit_test.
  7. --
  8. create {}
  9. make
  10. feature {ANY}
  11. make
  12. local
  13. a8: INTEGER_8
  14. do
  15. assert((0xFF).bit_test(0))
  16. assert((0xFF).bit_test(1))
  17. assert((0xFF).bit_test(2))
  18. assert((0xFF).bit_test(3))
  19. assert((0xFF).bit_test(4))
  20. assert((0xFF).bit_test(5))
  21. assert((0xFF).bit_test(6))
  22. assert((0xFF).bit_test(7))
  23. a8 := 0xff
  24. assert(a8.bit_test(0))
  25. assert(a8.bit_test(1))
  26. assert(a8.bit_test(2))
  27. assert(a8.bit_test(3))
  28. assert(a8.bit_test(4))
  29. assert(a8.bit_test(5))
  30. assert(a8.bit_test(6))
  31. assert(a8.bit_test(7))
  32. assert((0x01).bit_test(0))
  33. assert((0x01).bit_test(1) = False)
  34. assert((0x01).bit_test(2) = False)
  35. assert((0x01).bit_test(3) = False)
  36. assert((0x01).bit_test(4) = False)
  37. assert((0x01).bit_test(5) = False)
  38. assert((0x01).bit_test(6) = False)
  39. assert((0x01).bit_test(7) = False)
  40. assert((0x02).bit_test(0) = False)
  41. assert((0x02).bit_test(1))
  42. assert((0x02).bit_test(2) = False)
  43. assert((0x02).bit_test(3) = False)
  44. assert((0x02).bit_test(4) = False)
  45. assert((0x02).bit_test(5) = False)
  46. assert((0x02).bit_test(6) = False)
  47. assert((0x02).bit_test(7) = False)
  48. assert((0x0002).bit_test(0) = False)
  49. assert((0x0002).bit_test(1))
  50. assert((0x0002).bit_test(2) = False)
  51. assert((0x0002).bit_test(3) = False)
  52. assert((0x0002).bit_test(4) = False)
  53. assert((0x0002).bit_test(5) = False)
  54. assert((0x0002).bit_test(6) = False)
  55. assert((0x0002).bit_test(7) = False)
  56. assert((0x0002).bit_test(8) = False)
  57. assert((0x0002).bit_test(9) = False)
  58. assert((0x0002).bit_test(10) = False)
  59. assert((0x0002).bit_test(11) = False)
  60. assert((0x0002).bit_test(12) = False)
  61. assert((0x0002).bit_test(13) = False)
  62. assert((0x0002).bit_test(14) = False)
  63. assert((0x0002).bit_test(15) = False)
  64. assert((0x0080).bit_test(0) = False)
  65. assert((0x0080).bit_test(1) = False)
  66. assert((0x0080).bit_test(2) = False)
  67. assert((0x0080).bit_test(3) = False)
  68. assert((0x0080).bit_test(4) = False)
  69. assert((0x0080).bit_test(5) = False)
  70. assert((0x0080).bit_test(6) = False)
  71. assert((0x0080).bit_test(7))
  72. assert((0x0080).bit_test(8) = False)
  73. assert((0x0080).bit_test(9) = False)
  74. assert((0x0080).bit_test(10) = False)
  75. assert((0x0080).bit_test(11) = False)
  76. assert((0x0080).bit_test(12) = False)
  77. assert((0x0080).bit_test(13) = False)
  78. assert((0x0080).bit_test(14) = False)
  79. assert((0x0080).bit_test(15) = False)
  80. assert((0x8000).bit_test(0) = False)
  81. assert((0x8000).bit_test(1) = False)
  82. assert((0x8000).bit_test(2) = False)
  83. assert((0x8000).bit_test(3) = False)
  84. assert((0x8000).bit_test(4) = False)
  85. assert((0x8000).bit_test(5) = False)
  86. assert((0x8000).bit_test(6) = False)
  87. assert((0x8000).bit_test(7) = False)
  88. assert((0x8000).bit_test(8) = False)
  89. assert((0x8000).bit_test(9) = False)
  90. assert((0x8000).bit_test(10) = False)
  91. assert((0x8000).bit_test(11) = False)
  92. assert((0x8000).bit_test(12) = False)
  93. assert((0x8000).bit_test(13) = False)
  94. assert((0x8000).bit_test(14) = False)
  95. assert((0x8000).bit_test(15))
  96. end
  97. assert (b: BOOLEAN)
  98. do
  99. cpt := cpt + 1
  100. if not b then
  101. sedb_breakpoint
  102. std_output.put_string("TEST_INTEGER7: ERROR Test # ")
  103. std_output.put_integer(cpt)
  104. std_output.put_string("%N")
  105. end
  106. end
  107. cpt: INTEGER
  108. end -- class TEST_INTEGER7
  109. --
  110. -- ------------------------------------------------------------------------------------------------------------------------------
  111. -- Copyright notice below. Please read.
  112. --
  113. -- SmartEiffel is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License,
  114. -- as published by the Free Software Foundation; either version 2, or (at your option) any later version.
  115. -- SmartEiffel is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty
  116. -- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have
  117. -- received a copy of the GNU General Public License along with SmartEiffel; see the file COPYING. If not, write to the Free
  118. -- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
  119. --
  120. -- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE
  121. -- Copyright(C) 2003-2006: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
  122. --
  123. -- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
  124. --
  125. -- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
  126. -- ------------------------------------------------------------------------------------------------------------------------------