Sha256: d331594c9bcd5b7551f188ea0153dfd88baa62763799b5f6d86595051067a9c9

Contents?: true

Size: 1.39 KB

Versions: 16

Compression:

Stored size: 1.39 KB

Contents

require 'spec_helper'

describe Danica::Operator::Division do
  let(:variables) { [2, 4] }
  subject { described_class.new(*variables) }

  describe '#numerator' do
    it 'returns the numerator' do
      expect(subject.numerator).to eq(Danica::Wrapper::Number.new(2))
    end
  end

  describe '#denominator' do
    it 'returns the denominator' do
      expect(subject.denominator).to eq(Danica::Wrapper::Number.new(4))
    end
  end

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

  it_behaves_like 'a operator that has two terms', :division, {
    values: [ 2, 4 ],
    calculated: 1.0 / 2.0,
    to_tex: {
      string_expected: '\frac{X1}{X2}',
      numeric_string_expected: '\frac{2}{4}',
      partial_string_expected: '\frac{2}{X2}'
    },
    to_gnu: {
      string_expected: '(X1)/(X2)',
      numeric_string_expected: '(2)/(4)',
      partial_string_expected: '(2)/(X2)'
    }
  }

  describe 'more complex division' do
    describe 'of two additions' do
      subject do
        Danica::Operator::Division.new(
          Danica::Operator::Addition.new(2, :x),
          Danica::Operator::Addition.new(3, :y)
        )
      end

      describe 'to_gnu' do
        let(:expected) do
          '(2 + x)/(3 + y)'
        end

        it 'groups addition' do
          expect(subject.to_gnu).to eq(expected)
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
danica-2.7.4 spec/lib/danica/operator/division_spec.rb
danica-2.7.3 spec/lib/danica/operator/division_spec.rb
danica-2.7.2 spec/lib/danica/operator/division_spec.rb
danica-2.7.1 spec/lib/danica/operator/division_spec.rb
danica-2.6.4 spec/lib/danica/operator/division_spec.rb
danica-2.6.3 spec/lib/danica/operator/division_spec.rb
danica-2.6.2 spec/lib/danica/operator/division_spec.rb
danica-2.6.1 spec/lib/danica/operator/division_spec.rb
danica-2.6.0 spec/lib/danica/operator/division_spec.rb
danica-2.5.1 spec/lib/danica/operator/division_spec.rb
danica-2.5.0 spec/lib/danica/operator/division_spec.rb
danica-2.4.4 spec/lib/danica/operator/division_spec.rb
danica-2.4.3 spec/lib/danica/operator/division_spec.rb
danica-2.4.2 spec/lib/danica/operator/division_spec.rb
danica-2.4.1 spec/lib/danica/operator/division_spec.rb
danica-2.4.0 spec/lib/danica/operator/division_spec.rb