Sha256: 0fa59fa9170fe3fbe9d3967ea277a6a81ca1aaf9befe428c0f3617be6077df82

Contents?: true

Size: 1.61 KB

Versions: 3

Compression:

Stored size: 1.61 KB

Contents

require_relative '../../../test_helper'

module Vedeu
  describe Queue do
    let(:described_class) { Queue }

    before { described_class.clear }

    describe '.dequeue' do
      let(:subject) { described_class.dequeue }

      context 'when the queue is empty' do
        it 'returns a NilClass' do
          subject.must_be_instance_of(NilClass)
        end
      end

      context 'when the queue is not empty' do
        before { described_class.enqueue(:result) }

        it 'returns the first entry added' do
          subject.must_be_instance_of(Symbol)
        end
      end
    end

    describe '.enqueue' do
      let(:subject) { described_class.enqueue(result) }
      let(:result)  { :result }

      it 'returns an Array' do
        subject.must_be_instance_of(Array)
      end

      it 'contains the enqueued item' do
        subject.size.must_equal(1)
      end
    end

    describe '.size' do
      let(:subject) { described_class.size }

      it 'returns a Fixnum' do
        subject.must_be_instance_of(Fixnum)
      end

      it 'returns the size of the queue' do
        subject.must_equal(0)
      end
    end

    describe '.clear' do
      let(:subject) { described_class.clear }

      it 'returns an Array' do
        subject.must_be_instance_of(Array)
      end

      it 'returns an empty array' do
        subject.must_be_empty
      end
    end

    describe '.view' do
      let(:subject) { described_class.view }

      it 'returns a String' do
        subject.must_be_instance_of(String)
      end

      it 'returns the queue as a String' do
        subject.must_equal("[]")
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vedeu-0.0.17 test/lib/vedeu/process/queue_test.rb
vedeu-0.0.16 test/lib/vedeu/process/queue_test.rb
vedeu-0.0.15 test/lib/vedeu/process/queue_test.rb