Sha256: b7d5034465aed0d09bf3eace3fd45fc852073b5f15c92576781041c314efbba0

Contents?: true

Size: 1.01 KB

Versions: 6

Compression:

Stored size: 1.01 KB

Contents

require 'test_helper'
require 'rubycritic/core/smell'

describe 'Array of Smells' do
  it 'is sortable' do
    location1 = Rubycritic::Location.new('./foo', 42)
    location2 = Rubycritic::Location.new('./bar', 23)
    location3 = Rubycritic::Location.new('./bar', 16)
    smell1 = Rubycritic::Smell.new(locations: [location1])
    smell2 = Rubycritic::Smell.new(locations: [location2])
    smell3 = Rubycritic::Smell.new(locations: [location3])
    [smell1, smell2, smell3].sort.must_equal [smell3, smell2, smell1]
  end

  it 'implements set intersection' do
    smell1 = Rubycritic::Smell.new(context: '#bar')
    smell2 = Rubycritic::Smell.new(context: '#bar')
    smell3 = Rubycritic::Smell.new(context: '#foo')
    ([smell1, smell3] & [smell2]).must_equal [smell1]
  end

  it 'implements set union' do
    smell1 = Rubycritic::Smell.new(context: '#bar')
    smell2 = Rubycritic::Smell.new(context: '#bar')
    smell3 = Rubycritic::Smell.new(context: '#foo')
    ([smell1, smell3] | [smell2]).must_equal [smell1, smell3]
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rubycritic-2.9.2 test/lib/rubycritic/core/smells_array_test.rb
rubycritic-2.9.1 test/lib/rubycritic/core/smells_array_test.rb
rubycritic-2.9.0 test/lib/rubycritic/core/smells_array_test.rb
rubycritic-2.8.0 test/lib/rubycritic/core/smells_array_test.rb
rubycritic-2.7.1 test/lib/rubycritic/core/smells_array_test.rb
rubycritic-2.7.0 test/lib/rubycritic/core/smells_array_test.rb