Assert{a,z,}
This commit is contained in:
parent
f9017da734
commit
80fb3d1e60
11 changed files with 373 additions and 79 deletions
|
@ -6,6 +6,8 @@ import org.junit.jupiter.api.Nested
|
|||
import org.junit.jupiter.api.Test
|
||||
import parser.grammars.TermsGrammar
|
||||
import prolog.ast.arithmetic.Integer
|
||||
import prolog.ast.logic.Fact
|
||||
import prolog.ast.logic.Rule
|
||||
import prolog.ast.terms.*
|
||||
import prolog.builtins.*
|
||||
|
||||
|
@ -498,4 +500,34 @@ class PreprocessorTests {
|
|||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
class `Database operators` {
|
||||
private val preprocessor = OpenPreprocessor()
|
||||
|
||||
@Test
|
||||
fun `assert(fact)`() {
|
||||
val input = Structure(
|
||||
Atom("assert"), listOf(
|
||||
Structure(
|
||||
Atom(":-"), listOf(
|
||||
Atom("a"),
|
||||
Atom("b")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
val expected = Assert(
|
||||
Rule(
|
||||
Atom("a"),
|
||||
Atom("b")
|
||||
)
|
||||
)
|
||||
|
||||
val result = preprocessor.preprocess(input)
|
||||
|
||||
assertEquals(expected, result)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue