From 98f77e4a9aaff56e4a24919932076a4cee2a5598 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Tue, 9 Mar 2021 19:46:01 +0100 Subject: move some tests --- progs/tests/expression/add.sy | 9 +++++++ progs/tests/expression/boolean_ops_count.sy | 41 ++++++++++++++++++++++++++++ progs/tests/expression/boolean_order.sy | 42 +++++++++++++++++++++++++++++ progs/tests/expression/div.sy | 5 ++++ progs/tests/expression/in_rhs.sy | 3 +++ progs/tests/expression/negation.sy | 7 +++++ progs/tests/expression/parenthesis.sy | 3 +++ progs/tests/expression/simple.sy | 5 ++++ progs/tests/expression/sub.sy | 9 +++++++ progs/tests/expression/terms_and_factors.sy | 4 +++ 10 files changed, 128 insertions(+) create mode 100644 progs/tests/expression/add.sy create mode 100644 progs/tests/expression/boolean_ops_count.sy create mode 100644 progs/tests/expression/boolean_order.sy create mode 100644 progs/tests/expression/div.sy create mode 100644 progs/tests/expression/in_rhs.sy create mode 100644 progs/tests/expression/negation.sy create mode 100644 progs/tests/expression/parenthesis.sy create mode 100644 progs/tests/expression/simple.sy create mode 100644 progs/tests/expression/sub.sy create mode 100644 progs/tests/expression/terms_and_factors.sy (limited to 'progs/tests/expression') diff --git a/progs/tests/expression/add.sy b/progs/tests/expression/add.sy new file mode 100644 index 0000000..7be4012 --- /dev/null +++ b/progs/tests/expression/add.sy @@ -0,0 +1,9 @@ +start :: fn { + + a := 0 + b := 99999 + a += 1 + a <=> 1 + b <=> 99999 + +} diff --git a/progs/tests/expression/boolean_ops_count.sy b/progs/tests/expression/boolean_ops_count.sy new file mode 100644 index 0000000..b4a43e9 --- /dev/null +++ b/progs/tests/expression/boolean_ops_count.sy @@ -0,0 +1,41 @@ +start :: fn { + ts := 0 + t :: fn -> bool { + ts += 1 + ret true + } + + fs := 0 + f :: fn -> bool { + fs += 1 + ret false + } + + i :: fn -> bool { + + ret false + } + + if f() && i() { + + } + + if t() || i() { + // This block is intentionally left blank + } else { + + } + + if f() && i() && i() { + + } + + if t() || i() || i() { + // This block is intentionally left blank + } else { + + } + + fs <=> 2 + ts <=> 2 +} diff --git a/progs/tests/expression/boolean_order.sy b/progs/tests/expression/boolean_order.sy new file mode 100644 index 0000000..567c068 --- /dev/null +++ b/progs/tests/expression/boolean_order.sy @@ -0,0 +1,42 @@ +start :: fn { + ts := 0 + t :: fn -> bool { + ts += 1 + ret true + } + + fs := 0 + f :: fn -> bool { + fs += 1 + ret false + } + + i :: fn -> bool { + + ret false + } + + if t() || i() && i() { + // This block is intentionally left blank + } else { + + } + + if f() && i() || t() { + // This block is intentionally left blank + } else { + + } + + fs <=> 1 + fs = 0 + ts <=> 2 + ts = 0 + + f() && i() || f() <=> t() && f() || f() + f() && i() || f() <=> (t() && f()) || f() + t() && t() && f() || t() <=> t() || i() && i() && i() + + fs <=> 9 + ts <=> 6 +} diff --git a/progs/tests/expression/div.sy b/progs/tests/expression/div.sy new file mode 100644 index 0000000..df3e7bb --- /dev/null +++ b/progs/tests/expression/div.sy @@ -0,0 +1,5 @@ +start :: fn { + a := 2 + a /= 2 + a <=> 1 +} diff --git a/progs/tests/expression/in_rhs.sy b/progs/tests/expression/in_rhs.sy new file mode 100644 index 0000000..28ed276 --- /dev/null +++ b/progs/tests/expression/in_rhs.sy @@ -0,0 +1,3 @@ +start :: fn { + 5 <=> 1 * 2 + 3 +} diff --git a/progs/tests/expression/negation.sy b/progs/tests/expression/negation.sy new file mode 100644 index 0000000..0c702aa --- /dev/null +++ b/progs/tests/expression/negation.sy @@ -0,0 +1,7 @@ +start :: fn { + -1 <=> 0 - 1 + -1 + 2 <=> 1 + -(1 + 2) <=> -3 + 1 + -1 <=> 0 + 2 * -1 <=> -2 +} diff --git a/progs/tests/expression/parenthesis.sy b/progs/tests/expression/parenthesis.sy new file mode 100644 index 0000000..dd6fe8a --- /dev/null +++ b/progs/tests/expression/parenthesis.sy @@ -0,0 +1,3 @@ +start :: fn { + (1 + 2) * 3 <=> 9 +} diff --git a/progs/tests/expression/simple.sy b/progs/tests/expression/simple.sy new file mode 100644 index 0000000..29d7c76 --- /dev/null +++ b/progs/tests/expression/simple.sy @@ -0,0 +1,5 @@ +start :: fn { + 1 + 1 // blargh + 2 // blargh + // HARGH +} diff --git a/progs/tests/expression/sub.sy b/progs/tests/expression/sub.sy new file mode 100644 index 0000000..c220b8f --- /dev/null +++ b/progs/tests/expression/sub.sy @@ -0,0 +1,9 @@ +start :: fn { + + a := 0 + b := 99999 + a -= 1 + a <=> -1 + b <=> 99999 + +} diff --git a/progs/tests/expression/terms_and_factors.sy b/progs/tests/expression/terms_and_factors.sy new file mode 100644 index 0000000..42a48e2 --- /dev/null +++ b/progs/tests/expression/terms_and_factors.sy @@ -0,0 +1,4 @@ +start :: fn { + 1 + 1 * 2 <=> 3 + 1 * 2 + 3 <=> 5 +} -- cgit v1.2.1