Sha256: 3fef9b599521e351302c6c69e3b521e7663261dcd5d989ccebb52df3c9b80c30

Contents?: true

Size: 1.18 KB

Versions: 21

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true

require 'test_helper'

module Vedeu

  describe Sentence do

    let(:described) { Vedeu::Sentence }
    let(:elements)  { ['Hydrogen'] }
    let(:label)     { 'elements' }

    describe '.construct' do
      subject { described.construct(elements, label) }

      context 'when there is one element' do
        let(:elements) { ['Hydrogen'] }

        it 'returns the element as a string' do
          subject.must_equal('Hydrogen')
        end
      end

      context 'when there are two elements' do
        let(:elements) { %w(Hydrogen Helium) }

        it "returns the elements joined with 'and'" do
          subject.must_equal('Hydrogen and Helium')
        end
      end

      context 'when there are more than two elements' do
        let(:elements) { %w(Hydrogen Helium Lithium) }

        it 'returns the elements as a sentence list' do
          subject.must_equal('Hydrogen, Helium and Lithium')
        end
      end

      context 'when there are no elements' do
        let(:elements) { [] }

        it 'returns a polite message' do
          subject.must_equal('No elements have been assigned.')
        end
      end
    end

  end # Sentence

end # Vedeu

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
vedeu-0.8.32 test/lib/vedeu/sentence_test.rb
vedeu-0.8.31 test/lib/vedeu/sentence_test.rb
vedeu-0.8.30 test/lib/vedeu/sentence_test.rb
vedeu-0.8.29 test/lib/vedeu/sentence_test.rb
vedeu-0.8.28 test/lib/vedeu/sentence_test.rb
vedeu-0.8.27 test/lib/vedeu/sentence_test.rb
vedeu-0.8.26 test/lib/vedeu/sentence_test.rb
vedeu-0.8.25 test/lib/vedeu/sentence_test.rb
vedeu-0.8.24 test/lib/vedeu/sentence_test.rb
vedeu-0.8.23 test/lib/vedeu/sentence_test.rb
vedeu-0.8.22 test/lib/vedeu/sentence_test.rb
vedeu-0.8.21 test/lib/vedeu/sentence_test.rb
vedeu-0.8.20 test/lib/vedeu/sentence_test.rb
vedeu-0.8.19 test/lib/vedeu/sentence_test.rb
vedeu-0.8.18 test/lib/vedeu/sentence_test.rb
vedeu-0.8.17 test/lib/vedeu/sentence_test.rb
vedeu-0.8.16 test/lib/vedeu/sentence_test.rb
vedeu-0.8.15 test/lib/vedeu/sentence_test.rb
vedeu-0.8.14 test/lib/vedeu/sentence_test.rb
vedeu-0.8.13 test/lib/vedeu/sentence_test.rb