12345678910111213141516171819202122232425262728293031323334 |
- module Chervil
- RSpec.describe AST::Definition do
- it 'evaluates addition' do
- env = Env.new
- expect(
- AST::Application.new(
- AST::Identifier.new('+'),
- [AST::Number.new(1.0), AST::Number.new(2.0)]
- )
- .evaluate(env)
- ).to eq(3.0)
- end
-
- it 'evaluates nested arithmetic' do
- env = Env.new
- expect(
- AST::Application.new(
- AST::Identifier.new('+'),
- [
- AST::Application.new(
- AST::Identifier.new('+'),
- [AST::Number.new(1.0), AST::Number.new(2.0)]
- ),
- AST::Application.new(
- AST::Identifier.new('+'),
- [AST::Number.new(3.0), AST::Number.new(4.0)]
- )
- ]
- )
- .evaluate(env)
- ).to eq(10.0)
- end
- end
- end
|