123456789101112131415161718 |
- module Chervil
- RSpec.describe AST::Identifier do
- it 'evaluates' do
- env = Env.new
- identifier = AST::Identifier.new("x")
- value = AST::Number.new(5.0)
- definition = AST::Definition.new(identifier, value)
- definition.evaluate(env)
- expect(identifier.evaluate(env)).to eq(5.0)
- end
-
- it 'returns an error for an unbound identifier' do
- env = Env.new
- identifier = AST::Identifier.new("x")
- expect(identifier.evaluate(env)).to eq(Error.new("unbound variable x"))
- end
- end
- end
|