/test/language/gc/test_native_array5.e

http://github.com/tybor/Liberty · Specman e · 130 lines · 88 code · 7 blank · 35 comment · 1 complexity · fc2eece19c22c8a1ad211a28e9861d0a 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_NATIVE_ARRAY5
  5. create {}
  6. make
  7. feature {ANY}
  8. na1, na2, na3, na4, na5, na6, na7, na8, na9, na10, na11, na12: NATIVE_ARRAY[CHARACTER]
  9. na_max: INTEGER 9999
  10. make
  11. local
  12. i: INTEGER
  13. do
  14. from
  15. i := 1000
  16. until
  17. i = 0
  18. loop
  19. -- na1 :
  20. na1 := na1.calloc(na_max)
  21. assert(na1.all_default(na_max))
  22. na1.set_all_with('a', na_max)
  23. -- na2 :
  24. na2 := na2.calloc(na_max)
  25. assert(na2.all_default(na_max))
  26. na2.set_all_with('a', na_max)
  27. -- na3 :
  28. na3 := na3.calloc(na_max)
  29. assert(na3.all_default(na_max))
  30. na3.set_all_with('a', na_max)
  31. -- na4 :
  32. na4 := na4.calloc(na_max)
  33. assert(na4.all_default(na_max))
  34. na4.set_all_with('a', na_max)
  35. -- na5 :
  36. na5 := na5.calloc(na_max)
  37. assert(na5.all_default(na_max))
  38. na5.set_all_with('a', na_max)
  39. -- na6 :
  40. na6 := na6.calloc(na_max)
  41. assert(na6.all_default(na_max))
  42. na6.set_all_with('a', na_max)
  43. -- na7 :
  44. na7 := na7.calloc(na_max)
  45. assert(na7.all_default(na_max))
  46. na7.set_all_with('a', na_max)
  47. -- na8 :
  48. na8 := na8.calloc(na_max)
  49. assert(na8.all_default(na_max))
  50. na8.set_all_with('a', na_max)
  51. -- na9 :
  52. na9 := na9.calloc(na_max)
  53. assert(na9.all_default(na_max))
  54. na9.set_all_with('a', na_max)
  55. -- na10 :
  56. na10 := na10.calloc(na_max)
  57. assert(na10.all_default(na_max))
  58. na10.set_all_with('a', na_max)
  59. -- na11 :
  60. na11 := na11.calloc(na_max)
  61. assert(na11.all_default(na_max))
  62. na11.set_all_with('a', na_max)
  63. -- na12 :
  64. na12 := na12.calloc(na_max)
  65. assert(na12.all_default(na_max))
  66. na12.set_all_with('a', na_max)
  67. ---------------------------------------
  68. check_na(na1)
  69. check_na(na2)
  70. check_na(na3)
  71. check_na(na4)
  72. check_na(na5)
  73. check_na(na6)
  74. check_na(na7)
  75. check_na(na8)
  76. check_na(na9)
  77. check_na(na10)
  78. check_na(na11)
  79. check_na(na12)
  80. i := i - 1
  81. end
  82. end
  83. check_na (na: NATIVE_ARRAY[CHARACTER])
  84. local
  85. i: INTEGER
  86. do
  87. from
  88. i := na_max
  89. until
  90. i < 0
  91. loop
  92. assert(na.item(i) = 'a')
  93. i := i - 1
  94. end
  95. end
  96. assert (b: BOOLEAN)
  97. do
  98. if not b then
  99. std_output.put_string("Error in TEST_NATIVE_ARRAY5%N")
  100. crash
  101. else
  102. -- std_output.put_string("Yes%N");
  103. end
  104. end
  105. end -- class TEST_NATIVE_ARRAY5
  106. --
  107. -- ------------------------------------------------------------------------------------------------------------------------------
  108. -- Copyright notice below. Please read.
  109. --
  110. -- SmartEiffel is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License,
  111. -- as published by the Free Software Foundation; either version 2, or (at your option) any later version.
  112. -- SmartEiffel is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty
  113. -- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have
  114. -- received a copy of the GNU General Public License along with SmartEiffel; see the file COPYING. If not, write to the Free
  115. -- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
  116. --
  117. -- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE
  118. -- Copyright(C) 2003-2006: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
  119. --
  120. -- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
  121. --
  122. -- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
  123. -- ------------------------------------------------------------------------------------------------------------------------------