Sha256: c7fd6f938ff66e78a3d757fcf002070c59871a4d83046fca63f75773e7170161

Contents?: true

Size: 975 Bytes

Versions: 2

Compression:

Stored size: 975 Bytes

Contents

# frozen_string_literal: true

RSpec.shared_examples 'a cuboid' do
  let(:args) { {dimensions: [1.1, 2.2, 3.3].shuffle, dimension_unit: :cm} }

  it { is_expected.to be_a(Physical::Cuboid) }

  it "has dimensions as Measured::Length objects with rational values" do
    expect(subject.dimensions).to eq(
      [
        Measured::Length.new(1.1, :cm),
        Measured::Length.new(2.2, :cm),
        Measured::Length.new(3.3, :cm)
      ]
    )
  end

  it "has getter methods for each dimension as Measured::Length object" do
    expect(subject.length).to eq(Measured::Length.new(3.3, :cm))
    expect(subject.x).to eq(Measured::Length.new(3.3, :cm))
    expect(subject.width).to eq(Measured::Length.new(2.2, :cm))
    expect(subject.y).to eq(Measured::Length.new(2.2, :cm))
    expect(subject.height).to eq(Measured::Length.new(1.1, :cm))
    expect(subject.z).to eq(Measured::Length.new(1.1, :cm))
    expect(subject.depth).to eq(Measured::Length.new(1.1, :cm))
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
physical-0.1.4 lib/physical/spec_support/shared_examples.rb
physical-0.1.3 lib/physical/spec_support/shared_examples.rb