Sha256: 3826e21545cfef070e87d9371ea56457ad4c0588047f0ea989d55beac01df019

Contents?: true

Size: 1.2 KB

Versions: 7

Compression:

Stored size: 1.2 KB

Contents

require 'spec_helper'

describe Danica::Constant do
  subject { described_class.new(2.5, :M, :m) }
  let(:other) { described_class.new(3, :N, :n) }

  it_behaves_like 'an object that respond to basic_methods'
  it_behaves_like 'an object with basic operation'

  describe '#to_f' do
    it 'has a value' do
      expect(subject.to_f).to eq(2.5)
    end
  end

  describe '#to_tex' do
    it 'has a string for latex' do
      expect(subject.to_tex).to eq('M')
    end
  end

  describe '#to_gnu' do
    it 'has a string for gnu' do
      expect(subject.to_gnu).to eq('m')
    end
  end

  describe 'variables' do
    it { expect(subject).not_to respond_to(:value=) }
    it { expect(subject).not_to respond_to(:latex=) }
    it { expect(subject).not_to respond_to(:gnu=) }
  end

  describe '==' do
    context 'when comparing with the same object' do
      it { expect(subject).to eq(subject) }
    end

    context 'when comparing with a diferent object' do
      context 'with diferent values' do
        it { expect(subject).not_to eq(other) }
      end

      context 'with same values' do
        let(:other) { described_class.new(2.5, :M, :m) }
        it { expect(subject).to eq(other) }
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
danica-2.2.1 spec/lib/danica/constant_spec.rb
danica-2.2.0 spec/lib/danica/constant_spec.rb
danica-2.1.1 spec/lib/danica/constant_spec.rb
danica-2.1.0 spec/lib/danica/constant_spec.rb
danica-2.0.6 spec/lib/danica/constant_spec.rb
danica-2.0.5 spec/lib/danica/constant_spec.rb
danica-2.0.4 spec/lib/danica/constant_spec.rb