Sha256: 976e90280281866919d52a6c8fcfcefcbff691a4d0f57e836bf56e5a51283749

Contents?: true

Size: 846 Bytes

Versions: 10

Compression:

Stored size: 846 Bytes

Contents

require_relative '../../spec_helper'
require_lib 'reek/ast/node'

RSpec.describe Reek::AST::Node do
  context 'format' do
    it 'formats self' do
      expect(sexp(:self).format_to_ruby).to eq('self')
    end
  end

  context 'hash' do
    it 'hashes equal for equal sexps' do
      node1 = sexp(:def, :jim, sexp(:args), sexp(:send, sexp(:int, 4), :+, sexp(:send, nil, :fred)))
      node2 = sexp(:def, :jim, sexp(:args), sexp(:send, sexp(:int, 4), :+, sexp(:send, nil, :fred)))
      expect(node1.hash).to eq(node2.hash)
    end

    it 'hashes diferent for diferent sexps' do
      node1 = sexp(:def, :jim, sexp(:args), sexp(:send, sexp(:int, 4), :+, sexp(:send, nil, :fred)))
      node2 = sexp(:def, :jim, sexp(:args), sexp(:send, sexp(:int, 3), :+, sexp(:send, nil, :fred)))
      expect(node1.hash).not_to eq(node2.hash)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
reek-3.8.3 spec/reek/ast/node_spec.rb
reek-3.8.2 spec/reek/ast/node_spec.rb
reek-3.8.1 spec/reek/ast/node_spec.rb
reek-3.8.0 spec/reek/ast/node_spec.rb
reek-3.7.1 spec/reek/ast/node_spec.rb
reek-3.7.0 spec/reek/ast/node_spec.rb
reek-3.6.1 spec/reek/ast/node_spec.rb
reek-3.6.0 spec/reek/ast/node_spec.rb
reek-3.5.0 spec/reek/ast/node_spec.rb
reek-3.4.1 spec/reek/ast/node_spec.rb