citrus_test makes it easier to test Citrus grammars.
require 'citrus_test' # citrus_test expects all your Citrus grammars to be located in grammar_dir. # The path grammar_dir is set to is relative to the directory that the source # file that set it is in. (If you're using irb, use an absolute path.) . = "../grammars/" # What you name your class is important. For example, this class will use the # grammar located at ../grammars/nahuatal_language.citrus. The name of your # class *must* end in Test. class NahuatalLanguageTest < def test_possession # The parse() method returns the .value of the result of parsing. possessed_house = parse(:possession, "no-kal") assert_equal('house', possessed_house) # This asserts that: # _ = parse(:possession, "no-kal") # _ # => "house" # _.possessor # => "me" assert_parses(:possession, "no-kal", "house", possessor: "me") # deny_parses() does the opposite. deny_parses(:possession, "kal-li") end end