Sha256: 258f75223c90df3274d8b23f12483588bc427aba6463db9df74390d8329a1c8f

Contents?: true

Size: 1.12 KB

Versions: 6

Compression:

Stored size: 1.12 KB

Contents

require 'mida_vocabulary/datatype'

describe Mida::DataType::Generic do

  before do
    class Number < Mida::DataType::Generic
      def initialize(value)
        @parsedValue = Float(value)  
      end
    end
  end

  it '#parse should provide pass value straight to #new' do
    number = Number.parse('2.34')
    number == 2.34
  end

  it "should provide access to the underlying type's methods" do
    number = Number.new('2.34')
    number.floor.should == 2
  end

  it '#to_s should use the underlying types #to_s method' do
    number = Number.parse('2.34')
    number.to_s.should == '2.34'
  end

  it '#to_yaml should provide a yaml representation of the items #to_s method' do
    number = Number.parse('2.34')
    number.to_yaml.should =~ /---\s+['"]2.34['"]\n/
  end

  it '#== should match against underlying type, string representation and self' do
    number = Number.new('2.34')
    (number == 2.34).should be_true
    (number == '2.34').should be_true
    (number == number).should be_true

    (number == 2.44).should be_false
    (number == '2.44').should be_false
    (number == Number.new('2.44')).should be_false
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mida_vocabulary-0.2.2 spec/datatype/generic_spec.rb
mida_vocabulary-0.2 spec/datatype/generic_spec.rb
mida_vocabulary-0.1.3 spec/datatype/generic_spec.rb
mida_vocabulary-0.1.2 spec/datatype/generic_spec.rb
mida_vocabulary-0.1.1 spec/datatype/generic_spec.rb
mida_vocabulary-0.1 spec/datatype/generic_spec.rb