diff --git a/test/validation/test.bats b/test/validation/test.bats new file mode 100644 index 0000000..686065e --- /dev/null +++ b/test/validation/test.bats @@ -0,0 +1,59 @@ +#!/usr/bin/env bats + +bin() { ./scl.out $1 | tail -n1; } + +@test "simple addition" { + run bin "1+1" + [ "$output" = "= 2.000000" ] + + run bin "-1+1" + [ "$output" = "= 0.000000" ] + + run bin "1+-1" + [ "$output" = "= 0.000000" ] + + run bin "-1+-1" + [ "$output" = "= -2.000000" ] +} + +@test "simple subtraction" { + run bin "1-1" + [ "$output" = "= 0.000000" ] + + run bin "-1-1" + [ "$output" = "= -2.000000" ] + + run bin "1--1" + [ "$output" = "= 2.000000" ] + + run bin "-1--1" + [ "$output" = "= 0.000000" ] +} + +@test "simple multiplication" { + run bin "1*2" + [ "$output" = "= 2.000000" ] + + run bin "-1*2" + [ "$output" = "= -2.000000" ] + + run bin "1*-1" + [ "$output" = "= -1.000000" ] + + run bin "-1*-1" + [ "$output" = "= 1.000000" ] +} + +@test "simple division" { + run bin "1/2" + [ "$output" = "= 0.500000" ] + + run bin "-1/2" + [ "$output" = "= -0.500000" ] + + run bin "1/-1" + [ "$output" = "= -1.000000" ] + + run bin "-1/-1" + [ "$output" = "= 1.000000" ] +}