Sha256: dfd00a19cca0d9bce5f995572e006f36567694593bbf05d0ea97df386af62457

Contents?: true

Size: 1.34 KB

Versions: 18

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'

describe Frodo::Properties::Float do
  describe 'double precision' do
    let(:subject) { Frodo::Properties::Double.new('Float', '678.90325') }

    it { expect(subject.type).to eq('Edm.Double') }
    it { expect(subject.value).to eq(678.90325) }

    it { expect { subject.value = (1.7 * (10**308) * 2) }.to raise_error(ArgumentError) }
    it { expect { subject.value = (-1.7 * (10**308) * 2) }.to raise_error(ArgumentError) }

    it { expect(lambda {
      subject.value = '19.89043256'
      subject.value
    }.call).to eq(19.89043256) }

    it { expect(lambda {
      subject.value = 19.89043256
      subject.value
    }.call).to eq(19.89043256) }
  end

  describe 'single precision' do
    let(:subject) { Frodo::Properties::Single.new('Float', '678.90325') }

    it { expect(subject.type).to eq('Edm.Single') }
    it { expect(subject.value).to eq(678.90325) }

    it { expect(subject.url_value).to eq('678.90325F') }

    it { expect { subject.value = (3.4 * (10**38) * 2) }.to raise_error(ArgumentError) }
    it { expect { subject.value = (-3.4 * (10**38) * 2) }.to raise_error(ArgumentError) }

    it { expect(lambda {
      subject.value = '19.89043256'
      subject.value
    }.call).to eq(19.89043256) }

    it { expect(lambda {
      subject.value = 19.89043256
      subject.value
    }.call).to eq(19.89043256) }
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
frodo-0.12.8 spec/frodo/properties/float_spec.rb
frodo-0.12.7 spec/frodo/properties/float_spec.rb
frodo-0.12.6 spec/frodo/properties/float_spec.rb
frodo-0.12.5 spec/frodo/properties/float_spec.rb
frodo-0.12.4 spec/frodo/properties/float_spec.rb
frodo-0.12.2 spec/frodo/properties/float_spec.rb
frodo-0.12.1 spec/frodo/properties/float_spec.rb
frodo-0.12.0 spec/frodo/properties/float_spec.rb
frodo-0.11.0 spec/frodo/properties/float_spec.rb
frodo-0.10.8 spec/frodo/properties/float_spec.rb
frodo-0.10.7 spec/frodo/properties/float_spec.rb
frodo-0.10.6 spec/frodo/properties/float_spec.rb
frodo-0.10.5 spec/frodo/properties/float_spec.rb
frodo-0.10.4 spec/frodo/properties/float_spec.rb
frodo-0.10.3 spec/frodo/properties/float_spec.rb
frodo-0.10.2 spec/frodo/properties/float_spec.rb
frodo-0.10.1 spec/frodo/properties/float_spec.rb
frodo-0.10.0 spec/frodo/properties/float_spec.rb