tests: new base_int and base_int2
authorJean Privat <jean@pryen.org>
Thu, 2 Jul 2009 14:26:04 +0000 (10:26 -0400)
committerJean Privat <jean@pryen.org>
Sat, 4 Jul 2009 02:56:31 +0000 (22:56 -0400)
Test basic integer operations.

Old base_int is trashed.

Signed-off-by: Jean Privat <jean@pryen.org>

tests/base_int.nit
tests/base_int2.nit [new file with mode: 0644]
tests/sav/base_int.sav
tests/sav/base_int2.sav [new file with mode: 0644]

index 5d9007c..cc452e4 100644 (file)
@@ -1,6 +1,6 @@
 # This file is part of NIT ( http://www.nitlanguage.org ).
 #
-# Copyright 2005-2008 Jean Privat <jean@pryen.org>
+# Copyright 2009 Jean Privat <jean@pryen.org>
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 
 import kernel
 
-redef class Object
-       fun printn(a: Object)
-       do
-               if a == null then
-                       'n'.output
-               else
-                       a.output
-               end
-       end
-end
-
-printn(1)
+(-(1)).output
+(2+3).output
+(2-3).output
+(2*3).output
+(2/3).output
+(2%3).output
+'\n'.output
+
+(3+2).output
+(3-2).output
+(3*2).output
+(3/2).output
+(3%2).output
+'\n'.output
+
+(not 1==2).output
+(2==2).output
+'\n'.output
+
+(not 1 is 2).output
+(2 is 2).output
+'\n'.output
+
+(not 1>2).output
+(not 2>2).output
+(3>2).output
+'\n'.output
+
+(not 1>=2).output
+(2>=2).output
+(3>=2).output
+'\n'.output
+
+(1<2).output
+(not 2<2).output
+(not 3<2).output
+'\n'.output
+
+(1<=2).output
+(2<=2).output
+(not 3<=2).output
+'\n'.output
+
+(not 1>=2).output
+(2>=2).output
+(3>=2).output
+'\n'.output
+
+(1<=>2).output
+(2<=>2).output
+(3<=>2).output
+'\n'.output
+
+1.succ.output
+3.prec.output
diff --git a/tests/base_int2.nit b/tests/base_int2.nit
new file mode 100644 (file)
index 0000000..0f15bad
--- /dev/null
@@ -0,0 +1,77 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2009 Jean Privat <jean@pryen.org>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import kernel
+
+fun one: Int do return 1
+fun two: Int do return 2
+fun three: Int do return 3
+
+(-(one)).output
+(two+three).output
+(two-three).output
+(two*three).output
+(two/three).output
+(two%three).output
+'\n'.output
+
+(three+two).output
+(three-two).output
+(three*two).output
+(three/two).output
+(three%two).output
+'\n'.output
+
+(not one==two).output
+(two==two).output
+'\n'.output
+
+(not one is two).output
+(two is two).output
+'\n'.output
+
+(not one>two).output
+(not two>two).output
+(three>two).output
+'\n'.output
+
+(not one>=two).output
+(two>=two).output
+(three>=two).output
+'\n'.output
+
+(one<two).output
+(not two<two).output
+(not three<two).output
+'\n'.output
+
+(one<=two).output
+(two<=two).output
+(not three<=two).output
+'\n'.output
+
+(not one>=two).output
+(two>=two).output
+(three>=two).output
+'\n'.output
+
+(one<=>two).output
+(two<=>two).output
+(three<=>two).output
+'\n'.output
+
+one.succ.output
+three.prec.output
index d00491f..7556daa 100644 (file)
@@ -1 +1,45 @@
+-1
+5
+-1
+6
+0
+2
+
+5
 1
+6
+1
+1
+
+true
+true
+
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+-1
+0
+1
+
+2
+2
diff --git a/tests/sav/base_int2.sav b/tests/sav/base_int2.sav
new file mode 100644 (file)
index 0000000..7556daa
--- /dev/null
@@ -0,0 +1,45 @@
+-1
+5
+-1
+6
+0
+2
+
+5
+1
+6
+1
+1
+
+true
+true
+
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+-1
+0
+1
+
+2
+2