summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'data/unit-testing/map.fate')
-rw-r--r--data/unit-testing/map.fate149
1 files changed, 149 insertions, 0 deletions
diff --git a/data/unit-testing/map.fate b/data/unit-testing/map.fate
new file mode 100644
index 0000000..bf8517f
--- /dev/null
+++ b/data/unit-testing/map.fate
@@ -0,0 +1,149 @@
+(fate_version 1)
+
+(global string test_name)
+
+(set test_name ( MAP ))
+
+(global (list int) li0)
+(global (list int) li1)
+(global (list int) li2)
+(global (list int) li3)
+
+(set li0
+ (map
+ (lambda ((int i)) (* i 2))
+ (range 0 10 1)
+ )
+)
+
+(set li1 (range 0 10 1))
+
+(map!
+ (lambda ((int i)) (* i 2))
+ li1
+)
+
+(set li2
+ (map
+ (lambda ((int i) (int mod)) (* i mod))
+ (range 0 10 1)
+ 2
+ )
+)
+
+(set li3 (range 0 10 1))
+
+(map!
+ (lambda ((int i) (int mod)) (* i mod))
+ li3
+ 2
+)
+
+(assert
+ (= (var li1) (var li0) (var li2) (var li3))
+ [FAILED] (var test_name) Equality test 0.
+)
+
+(assert
+ (= 0 (var li1.0) (var li0.0))
+ [FAILED] (var test_name) Test for 0: (var li1.0), (var li0.0).
+)
+
+(assert
+ (= 2 (var li1.1) (var li0.1))
+ [FAILED] (var test_name) Test for 2: (var li1.1), (var li0.1).
+)
+
+(assert
+ (= 4 (var li1.2) (var li0.2))
+ [FAILED] (var test_name) Test for 4: (var li1.2), (var li0.2).
+)
+(assert
+ (= 6 (var li1.3) (var li0.3))
+ [FAILED] (var test_name) Test for 6: (var li1.3), (var li0.3).
+)
+(assert
+ (= 8 (var li1.4) (var li0.4))
+ [FAILED] (var test_name) Test for 8: (var li1.4), (var li0.4).
+)
+(assert
+ (= 10 (var li1.5) (var li0.5))
+ [FAILED] (var test_name) Test for 10: (var li1.5), (var li0.5).
+)
+(assert
+ (= 12 (var li1.6) (var li0.6))
+ [FAILED] (var test_name) Test for 12: (var li1.6), (var li0.6).
+)
+(assert
+ (= 14 (var li1.7) (var li0.7))
+ [FAILED] (var test_name) Test for 14: (var li1.7), (var li0.7).
+)
+(assert
+ (= 16 (var li1.8) (var li0.8))
+ [FAILED] (var test_name) Test for 16: (var li1.8), (var li0.8).
+)
+(assert
+ (= 18 (var li1.9) (var li0.9))
+ [FAILED] (var test_name) Test for 18: (var li1.9), (var li0.9).
+)
+(assert
+ (= 20 (var li1.10) (var li0.10))
+ [FAILED] (var test_name) Test for 20: (var li1.10), (var li0.10).
+)
+
+(clear li0)
+(clear li1)
+(clear li2)
+(clear li3)
+
+(set li0
+ (indexed_map
+ (lambda ((int ix) (int i)) (+ (* i ix) 1000))
+ (range 10 20 1)
+ )
+)
+
+(set li1 (range 10 20 1))
+
+(indexed_map!
+ (lambda ((int ix) (int i)) (+ (* i ix) 1000))
+ li1
+)
+
+(set li2
+ (indexed_map
+ (lambda ((int ix) (int i) (int mod)) (+ (* i ix) mod))
+ (range 10 20 1)
+ 1000
+ )
+)
+
+(set li3 (range 10 20 1))
+
+(indexed_map!
+ (lambda ((int ix) (int i) (int mod)) (+ (* i ix) mod))
+ li3
+ 1000
+)
+
+(assert
+ (= (var li1) (var li0) (var li2) (var li3))
+ [FAILED] (var test_name) Equality test 1.
+)
+
+(global int i)
+
+(for (set i 0) (=< i 10) (set i (+ i 1))
+ (assert
+ (=
+ (access li1 i) (access li0 i) (access li2 i) (access li3 i)
+ (+ (* i (+ 10 i)) 1000)
+ )
+ [FAILED] (var test_name) Indexed map at (var i):
+ (access li1 i), (access li0 i), (access li2 i), (access li3 i)
+ )
+)
+
+[COMPLETED] (var test_name)
+
+(end)