/test/language/instruction/create/test_create01.e

http://github.com/tybor/Liberty · Specman e · 67 lines · 40 code · 6 blank · 21 comment · 1 complexity · 9f545e4524c2149845c0689b5d391e06 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_CREATE01
  5. create {}
  6. make
  7. feature {ANY}
  8. make
  9. local
  10. old_a, new_a: ARRAY[INTEGER]; old_aux, new_aux: AUX_CREATE01; x: INTEGER
  11. do
  12. create old_a.make(1, 1)
  13. create new_a.make(1, 1)
  14. assert(old_a.is_equal(new_a))
  15. new_a := create {ARRAY[INTEGER]}.make(1, 1)
  16. assert(old_a.is_equal(new_a))
  17. create old_aux
  18. create new_aux
  19. assert(old_aux.is_equal(new_aux))
  20. new_aux := create {AUX_CREATE01}
  21. assert(old_aux.is_equal(new_aux))
  22. x := (create {AUX_CREATE01}).x
  23. assert(x = 1)
  24. assert(1 = foo(create {AUX_CREATE01}))
  25. end
  26. foo (aux: AUX_CREATE01): INTEGER
  27. do
  28. Result := aux.x
  29. ensure
  30. not aux.is_equal(create {AUX_CREATE01})
  31. end
  32. assert (b: BOOLEAN)
  33. do
  34. cpt := cpt + 1
  35. if not b then
  36. std_output.put_string("TEST_CREATE01: ERROR Test # ")
  37. std_output.put_integer(cpt)
  38. std_output.put_string("%N")
  39. crash
  40. end
  41. end
  42. cpt: INTEGER
  43. end -- class TEST_CREATE01
  44. --
  45. -- ------------------------------------------------------------------------------------------------------------------------------
  46. -- Copyright notice below. Please read.
  47. --
  48. -- SmartEiffel is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License,
  49. -- as published by the Free Software Foundation; either version 2, or (at your option) any later version.
  50. -- SmartEiffel is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty
  51. -- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have
  52. -- received a copy of the GNU General Public License along with SmartEiffel; see the file COPYING. If not, write to the Free
  53. -- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
  54. --
  55. -- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE
  56. -- Copyright(C) 2003-2006: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
  57. --
  58. -- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
  59. --
  60. -- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
  61. -- ------------------------------------------------------------------------------------------------------------------------------