/test/language/gc/test_native_array4.e

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