Sha256: 8b5793094d2f5a18695e6147db9df34a001c3049551dd799b38e4c7a51af6c1c
Contents?: true
Size: 770 Bytes
Versions: 19
Compression:
Stored size: 770 Bytes
Contents
require 'spec_helper' module Finitio describe Syntax, "union_type" do subject{ Syntax.parse(input, root: "union_type") } describe "compilation result" do let(:compiled){ subject.compile(type_factory) } context '.Integer|.Float' do let(:input){ '.Integer|.Float' } it 'compiles to a UnionType' do expect(compiled).to be_a(UnionType) expect(compiled).to eq(UnionType.new([intType, floatType])) end end end describe "AST" do let(:input){ '.Integer|.Float' } let(:ast){ subject.to_ast } it{ expect(ast).to eq([ :union_type, [:builtin_type, "Integer"], [:builtin_type, "Float"] ]) } end end end
Version data entries
19 entries across 19 versions & 1 rubygems