Sha256: fde424b0d354b35d4d81809358a77cc9e2563403ef2f731513cc83e7a2f47750
Contents?: true
Size: 811 Bytes
Versions: 3
Compression:
Stored size: 811 Bytes
Contents
require 'minitest_helper' describe Rasti::Types::TypedEnum do let(:enum) { Rasti::Types::TypedEnum[Colors] } ['BLUE', 'GREEN', 'RED'].each do |value| it "#{value.inspect} -> #{value}" do enum.cast(value).must_equal Colors[value] end end ['text', :symbol, true, false, 100, Time.now, [1,2], {a: 1, b: 2}, Object.new, nil].each do |value| it "#{value.inspect} -> CastError" do error = proc { enum.cast(value) }.must_raise Rasti::Types::CastError error.message.must_equal "Invalid cast: #{as_string(value)} -> Rasti::Types::TypedEnum[Colors]" end end it 'Values' do enum.blue.must_equal Colors::Blue.new enum.green.must_equal Colors::Green.new enum.red.must_equal Colors::Red.new enum.values.must_equal [enum.blue, enum.green, enum.red] end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rasti-types-1.1.2 | spec/typed_enum_spec.rb |
rasti-types-1.1.1 | spec/typed_enum_spec.rb |
rasti-types-1.1.0 | spec/typed_enum_spec.rb |