/test/lib/numeric/number/test_number09.e
Specman e | 64 lines | 26 code | 6 blank | 32 comment | 0 complexity | 4f5c9e1545afdf924d7c2c3ea13d68d9 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_NUMBER09 5 -- some strange examples of calculations between numbers 6 -- properties of additions, multiplications... 7 8insert 9 EIFFELTEST_TOOLS 10 NUMBER_TOOLS 11 12create {} 13 make 14 15feature {ANY} 16 make 17 local 18 n1, n2, n3, n4: NUMBER 19 do 20 -- SMALL_INTEGER 21 n1 := from_integer(10) 22 n2 := from_integer(2) 23 n3 := from_integer(-1) 24 n4 := from_integer(11) 25 -- between numbers... 26 assert((n1 + n2 + n3 + n4).is_equal(n4 * n2)) 27 assert((n1 - n2 - n3 - n4).is_equal(n3 * n2)) 28 assert((n1 / n2 * (n3 + n4)).is_equal((n3 + n4) * n1 / n2)) 29 -- between numbers and integers... 30 assert((n1 * n2 * n3 * n4) @= -220) 31 assert((n1 / n2 / n3) @= -5) 32 assert((n1 * (n3 + n4)) @= 100) 33 assert((n1 * (n3 + n4) * n2) @= 200) 34 assert((n1 / n2 * (n3 + n4)) @= 50) 35 -- if this go on, then all must go on :) 36 assert((n1 / n2 * (n1 * n2) / ((n3 + n4) * ((n1 + n3 - n3) * (n2 / n2)))) @= 1) 37 -- (5 * 20) / (10 * 10) 38 -- LARGE_POSITIVE_INTEGER 39 --... 40 -- LARGE_NEGATIVE_INTEGER 41 --... 42 end 43 44 45 46end -- class TEST_NUMBER09 47-- 48-- ------------------------------------------------------------------------------------------------------------------------------ 49-- Copyright notice below. Please read. 50-- 51-- SmartEiffel is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, 52-- as published by the Free Software Foundation; either version 2, or (at your option) any later version. 53-- SmartEiffel is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty 54-- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have 55-- received a copy of the GNU General Public License along with SmartEiffel; see the file COPYING. If not, write to the Free 56-- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. 57-- 58-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE 59-- Copyright(C) 2003-2006: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE 60-- 61-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN 62-- 63-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr 64-- ------------------------------------------------------------------------------------------------------------------------------