git @ Cat's Eye Technologies Tandem / master tests / Tandem.md
master

Tree @master (Download .tar.gz)

Tandem.md @masterview markup · raw · history · blame

Tests for Tandem

This document is written in Falderal 0.14 format. It intentionally avoids exercising the non-ASCII parts of Tandem's syntax, for compatibility with ancient systems that have trouble handling it. Those parts of the syntax are tested in the Tandem Syntax test suite.

Basic Semantics

-> Tests for functionality "Evaluate Tandem Program"

-> Functionality "Evaluate Tandem Program" is implemented by
-> shell command "bin/tandem showeval %(test-body-file)"

0
===> Nothing

Q -> 123
===> Just (fromList [("Q","123")])

Q -> 123 & R -> 456
===> Just (fromList [("Q","123"),("R","456")])

Q -> 1 & Q1 -> 2
===> Just (fromList [("Q","2")])

Q -> 1 & Q2 -> 3
===> Nothing

Q -> 1 | R -> 1
???> more than one redex

Q -> 1 & R... -> 1 | Q1 -> 2 & R... -> 2
===> Just (fromList [("Q","1"),("R","1")])

(Q -> 1 & R... -> 1 | Q1 -> 2 & R... -> 2)*
===> Just (fromList [("Q","2"),("R","2")])

Pragmas

-> Tests for functionality "Run Tandem Program"

-> Functionality "Run Tandem Program" is implemented by
-> shell command "bin/tandem run %(test-body-file)"

{B:I,O}
{!This ->is "my comment%.}
(Ia...->... & %O...->...b)*
<== aaa
==> bbb

{B:B,B}1
<== Revcat me!
==> !em tacveR