Sha256: 1dc65d27c651f163d67a33318c0e3bdf010259abef1e1ea5b9445f7fb799fed4

Contents?: true

Size: 1.01 KB

Versions: 4

Compression:

Stored size: 1.01 KB

Contents

require 'spec_helper'

describe Rambling::Trie::Inspector do
  let(:root) { Rambling::Trie::RawNode.new }

  before do
    %w(only three words).each { |word| root.add word }
  end

  describe '#inspect' do
    let(:node) { root[:o] }

    it 'returns a pretty printed version of the node' do
      expect(root.inspect).to eq "#<Rambling::Trie::RawNode letter: nil, children: [:o, :t, :w]>"
      expect(node.inspect).to eq "#<Rambling::Trie::RawNode letter: :o, children: [:n]>"
    end

    context 'for a compressed node' do
      let(:compressor) { Rambling::Trie::Compressor.new }
      let(:compressed_root) { compressor.compress root }
      let(:compressed_node) { compressed_root[:only] }

      it 'returns a pretty printed version of the compressed node' do
        expect(compressed_root.inspect).to eq "#<Rambling::Trie::CompressedNode letter: nil, children: [:only, :three, :words]>"
        expect(compressed_node.inspect).to eq "#<Rambling::Trie::CompressedNode letter: :only, children: []>"
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rambling-trie-0.9.3 spec/lib/rambling/trie/inspector_spec.rb
rambling-trie-0.9.2 spec/lib/rambling/trie/inspector_spec.rb
rambling-trie-0.9.1 spec/lib/rambling/trie/inspector_spec.rb
rambling-trie-0.9.0 spec/lib/rambling/trie/inspector_spec.rb