Skip to content
Snippets Groups Projects
Select Git revision
  • 59a22b099a3d52101cec6500aeddf4dd3fdcfd2a
  • master default
2 results

MaybeTests.kt

Blame
  • MaybeTests.kt 1.05 KiB
    package jackrat
    
    import de.timklge.jackrat.AtomParser
    import de.timklge.jackrat.MaybeParser
    import jackrat.de.timklge.jackrat.Scanner
    import kotlin.test.Test
    import kotlin.test.assertEquals
    import kotlin.test.assertNotNull
    
    class MaybeTests {
        @Test
        fun MaybeTest(){
            val input = "Hello"
            val scanner = Scanner(input)
            val helloParser = AtomParser("Hello", false)
            val helloMaybeParser = MaybeParser(helloParser)
            val node = helloMaybeParser.parse(scanner)
            assertEquals(helloMaybeParser, node.parser)
            assertEquals(1, node.children.count())
        }
    
        @Test
        fun MaybeIrregularTest(){
            val helloParser = AtomParser("Hello")
            val irregularInput = "Sonne"
            val irregularScanner = Scanner(irregularInput)
            val irregularParser = MaybeParser(helloParser)
            val irregularNode = irregularParser.parsePartial(irregularScanner)
            assertNotNull(irregularNode)
            assertEquals(irregularParser, irregularNode.parser)
            assertEquals(0, irregularNode.children.count())
        }
    }