PageRenderTime 16ms CodeModel.GetById 11ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/test/lib/numeric/number/test_number56.e

http://github.com/tybor/Liberty
Specman e | 72 lines | 43 code | 4 blank | 25 comment | 0 complexity | 6432060151093f288a8cc37a13249a1b 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--
 4class TEST_NUMBER56
 5   -- tests on "#>="
 6
 7insert
 8   PLATFORM
 9   NUMBER_TOOLS
10   EIFFELTEST_TOOLS
11   
12create {}
13   make
14
15feature {ANY}
16   make
17      local
18         n: NUMBER
19      do
20         n := from_integer(-1)
21         assert(n #>= Minimum_integer.to_real_64)
22         assert(n #>= -1)
23         n := from_integer(0)
24         assert(n #>= -1)
25         assert(n #>= 0)
26         n := from_integer(Maximum_integer)
27         assert(n #>= Maximum_integer.to_real_64)
28         n := from_integer_64(Maximum_integer_64)
29         assert( n @>= Maximum_integer_64)
30         assert( n @<= Maximum_integer_64)
31         assert(n #<= Maximum_integer_64.force_to_real_64)
32         n := n @+ 1
33         assert(n #>= Maximum_integer_64.force_to_real_64)
34         n := from_integer_64(Minimum_integer_64)
35         assert(n #>= Minimum_integer_64.force_to_real_64)
36         n := n @- 1
37         assert(not (n #>= Minimum_integer_64.force_to_real_64))
38         n := from_string("2/5")
39         assert(n #>= 0)
40         n := from_string("3/2")
41         assert(n #>= 1)
42         n := from_string("-1/54")
43         assert(n #>= -1)
44         n := from_string("2/5")
45         assert(n #>= 0.19)
46         assert(n #>= 0.2)
47         n := from_string("-3/5")
48         -- This case does not have the same result in all compilation
49         -- modes (cause to the precision lost)
50         --       assert(n #>= -0.6)
51         assert(n #>= -0.61)
52      end
53
54end -- class TEST_NUMBER56
55--
56-- ------------------------------------------------------------------------------------------------------------------------------
57-- Copyright notice below. Please read.
58--
59-- SmartEiffel is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License,
60-- as published by the Free Software Foundation; either version 2, or (at your option) any later version.
61-- SmartEiffel is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty
62-- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have
63-- received a copy of the GNU General Public License along with SmartEiffel; see the file COPYING. If not, write to the Free
64-- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
65--
66-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P.       - University of Nancy 1 - FRANCE
67-- Copyright(C) 2003-2006: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE
68--
69-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN
70--
71-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr
72-- ------------------------------------------------------------------------------------------------------------------------------