2021-05-09 18:22:12 +02:00
|
|
|
package schema_test
|
|
|
|
|
|
|
|
/* ---------------------------------------------------------------- *
|
|
|
|
* UNIT TESTING
|
|
|
|
* ---------------------------------------------------------------- */
|
|
|
|
|
|
|
|
import (
|
2021-05-14 16:58:27 +02:00
|
|
|
"logik/aussagenlogik/formulae"
|
2021-05-09 18:22:12 +02:00
|
|
|
"logik/aussagenlogik/schema"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
/* ---------------------------------------------------------------- *
|
|
|
|
* TESTCASE ParseExpr
|
|
|
|
* ---------------------------------------------------------------- */
|
|
|
|
|
|
|
|
func TestParseExpr(test *testing.T) {
|
|
|
|
var assert = assert.New(test)
|
2021-05-14 16:58:27 +02:00
|
|
|
var tree formulae.Formula
|
2021-05-12 18:46:51 +02:00
|
|
|
|
|
|
|
tree = schema.ParseExpr("A8712")
|
|
|
|
assert.Equal("A8712", tree.GetExpr())
|
|
|
|
assert.Equal("atom", tree.GetKind())
|
2021-05-14 16:58:27 +02:00
|
|
|
assert.Equal(0, len(tree.GetSubFormulae()))
|
2021-05-12 18:46:51 +02:00
|
|
|
|
|
|
|
tree = schema.ParseExpr(" ! A5 ")
|
|
|
|
assert.Equal("! A5", tree.GetExpr())
|
|
|
|
assert.Equal("not", tree.GetKind())
|
2021-05-14 16:58:27 +02:00
|
|
|
assert.Equal(1, len(tree.GetSubFormulae()))
|
2021-05-12 18:46:51 +02:00
|
|
|
|
|
|
|
tree = schema.ParseExpr("A0 -> A1")
|
|
|
|
assert.Equal("(A0 -> A1)", tree.GetExpr())
|
|
|
|
assert.Equal("implies", tree.GetKind())
|
2021-05-14 16:58:27 +02:00
|
|
|
assert.Equal(2, len(tree.GetSubFormulae()))
|
2021-05-12 18:46:51 +02:00
|
|
|
|
|
|
|
tree = schema.ParseExpr("( A0 && A1) || A2")
|
|
|
|
assert.Equal("((A0 && A1) || A2)", tree.GetExpr())
|
|
|
|
assert.Equal("or2", tree.GetKind())
|
2021-05-14 16:58:27 +02:00
|
|
|
assert.Equal(2, len(tree.GetSubFormulae()))
|
2021-05-09 18:22:12 +02:00
|
|
|
}
|