summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2020-08-29 19:22:19 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2020-08-29 19:22:19 +0200
commita650c7724a012ac9bfe3b9ebec07ca1d57e83ba5 (patch)
tree6ee55350f36424661ebc87f539c0150d00f9f023 /data
parent1a1efe6f0e639b49ae86ff3421c5b5f87b2594bc (diff)
Adds testing file for local variables.
Diffstat (limited to 'data')
-rw-r--r--data/tests/local_variables.fate110
1 files changed, 110 insertions, 0 deletions
diff --git a/data/tests/local_variables.fate b/data/tests/local_variables.fate
new file mode 100644
index 0000000..45cc67b
--- /dev/null
+++ b/data/tests/local_variables.fate
@@ -0,0 +1,110 @@
+(fate_version 1)
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(local int i)
+
+(set_value i 3)
+
+(assert (= (var i) 3) FAILED: local A)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(global int j)
+(set_value j 4)
+
+(local int j)
+(set_value j 16)
+
+(local (lambda int ()) global_j)
+
+(set_value global_j (lambda () (var j)))
+
+(assert (= (var j) 16) FAILED: local B, local j: (var j))
+(assert (= (eval global_j) 4) FAILED: local C, global_j: (eval global_j))
+
+(if (true)
+ (
+ (local int k)
+ (set k 11)
+ (assert (= (var k) 11) FAILED: local D, k: (var k))
+ (assert (= (var j) 16) FAILED: local E, j: (var j))
+ )
+)
+
+(local int k)
+(set k 12)
+(assert (= (var k) 12) FAILED: local F, k: (var k))
+
+(if_else (true)
+ (
+ (local int l)
+ (set l 13)
+ (assert (= (var l) 13) FAILED: local G, k: (var l))
+ )
+ (
+ (local int l)
+ (set l 14)
+ )
+)
+
+(if_else (false)
+ (
+ (local int l)
+ (set l 13)
+ (assert (= (var l) 13) FAILED: local H, k: (var l))
+ )
+ (
+ (local int l)
+ (set l 14)
+ (assert (= (var l) 14) FAILED: local I, k: (var l))
+ )
+)
+
+(define_sequence test0 ()
+ (assert (= (var j) 4) FAILED: local J, j from seq: (var j))
+)
+
+(call test0)
+
+(define_sequence test1 ()
+ (local int j)
+ (set j 634)
+ (assert (= (var j) 634) FAILED: local K, j from seq: (var j))
+)
+
+(call test1)
+
+(assert (= (var j) 16) FAILED: local L, local j: (var j))
+
+(define_sequence test2 ()
+ (local int j)
+ (set j 635)
+ (assert (= (var j) 635) FAILED: local K, j from seq: (var j))
+
+ (local (lambda int ()) global_j)
+
+ (set_value global_j (lambda () (var j)))
+ (assert (= (eval global_j) 4) FAILED: local L, global_j: (eval global_j))
+)
+
+(call test2)
+(assert
+ (=
+ (let
+ (
+ (a_one 1)
+ (a_two 2)
+ (a_three (+ (var a_one) (var a_two)))
+ )
+ (+ (var a_one) (var a_two) (var a_three))
+ )
+ 6
+ )
+ FAILED: local M
+)
+(end)