Sha256: e371fa9eb79d88c26a93c525a15aab5adc2f2dc40ce0750c14272501eb0a5ff8
Contents?: true
Size: 882 Bytes
Versions: 5
Compression:
Stored size: 882 Bytes
Contents
require 'spec_helper' require 'dentaku/ast/combinators' require 'dentaku/token' describe Dentaku::AST::And do let(:t) { Dentaku::AST::Logical.new Dentaku::Token.new(:logical, true) } let(:f) { Dentaku::AST::Logical.new Dentaku::Token.new(:logical, false) } let(:five) { Dentaku::AST::Numeric.new Dentaku::Token.new(:numeric, 5) } it 'performs logical AND' do node = described_class.new(t, f) expect(node.value).to eq false end it 'requires logical operands' do expect { described_class.new(t, five) }.to raise_error(Dentaku::NodeError, /requires logical operands/) expression = Dentaku::AST::LessThanOrEqual.new(five, five) expect { described_class.new(t, expression) }.not_to raise_error expression = Dentaku::AST::Or.new(t, f) expect { described_class.new(t, expression) }.not_to raise_error end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
dentaku-3.3.0 | spec/ast/and_spec.rb |
dentaku-3.2.1 | spec/ast/and_spec.rb |
dentaku-3.2.0 | spec/ast/and_spec.rb |
dentaku-3.1.0 | spec/ast/and_spec.rb |
dentaku-3.0.0 | spec/ast/and_spec.rb |