Sha256: 4292f0d853b16de079634eb1a61f8d8fb3922c91bd560c69db9bb80ea1178a01
Contents?: true
Size: 1.25 KB
Versions: 2
Compression:
Stored size: 1.25 KB
Contents
require File.expand_path(File.dirname(__FILE__) + '/spec_helper') describe "Grammar" do before (:each) do @g = Panini::Grammar.new end it "responds to #add_nonterminal" do @g.should respond_to(:add_nonterminal) end it "responds to #nonterminals" do @g.should respond_to(:nonterminals) end it "responds to #start" do @g.should respond_to(:start) end end describe "Grammar#add_nonterminal" do before (:each) do @g = Panini::Grammar.new @n = @g.add_nonterminal() end it "returns a new Panini::Nonterminal" do @n.should be_an_instance_of(Panini::Nonterminal) end it "stores the new Panini::Nonterminal" do @g.nonterminals.should have(1).item @g.nonterminals[0].should == @n end end describe "Grammar#start" do before (:each) do @g = Panini::Grammar.new @nonterminals = (0...3).to_a.map do @g.add_nonterminal end end context "when a start symbol is not specified" do it "returns the first nonterminal" do @g.start.should == @nonterminals[0] end end context "when a start symbol is specified" do before(:each) do @g.start = @nonterminals[1] end it "returns that nonterminal" do @g.start.should == @nonterminals[1] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
panini-1.2.0 | spec/grammar_spec.rb |
panini-1.1.1 | spec/grammar_spec.rb |