Sha256: 1851ce1f67de6ff4de313287ce3e0d04924cc18ce53d9d63767c466531408c48

Contents?: true

Size: 811 Bytes

Versions: 4

Compression:

Stored size: 811 Bytes

Contents

# encoding: utf-8
require 'bigdecimal'
require_relative "../spec_helper"

describe ::BigDecimal do
  let(:a_number) { "4321.1234" }
  let(:bson_number) { 4321.1234.to_bson }

  subject { described_class.new(a_number) }

  it "responds to to_bson" do
    expect(subject).to respond_to(:to_bson)
  end

  it "to_bson returns a binary encoded number  which can be encoded back from bson" do
    expect(BigDecimal::from_bson(subject.to_bson)).to eq(BigDecimal::from_bson(4321.1234.to_bson))
  end

  it "bson_type returns a binary encoded 1" do
    expect(subject.bson_type).to eq(12.34.bson_type)
  end

  describe "class methods" do
    it "builds a new BigDecimal from BSON" do
      decoded = described_class.from_bson(4321.1234.to_bson)
      expect(decoded).to eql(BigDecimal.new(a_number))
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
logstash-output-mongodb-3.1.8 spec/bson/big_decimal_spec.rb
logstash-output-mongo-1.0.1 spec/bson/big_decimal_spec.rb
logstash-output-mongodb-3.1.7 spec/bson/big_decimal_spec.rb
logstash-output-mongodb-3.1.6 spec/bson/big_decimal_spec.rb