diff options
| author | mo khan <mo.khan@gmail.com> | 2020-04-13 17:05:47 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-04-13 17:05:47 -0600 |
| commit | 33b36e31f431a1eb3fdbbf46df21c24029b1e387 (patch) | |
| tree | 9935772cde56981fac22627e9555fbc00509bc69 /spec/unit | |
| parent | 5e3fdf6e9c7463863f581d167b5cc1c74ac30b1a (diff) | |
Optimise sort, hash and equality operations
Diffstat (limited to 'spec/unit')
| -rw-r--r-- | spec/unit/core/dependency_spec.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/spec/unit/core/dependency_spec.rb b/spec/unit/core/dependency_spec.rb index 3e1695d..648ade2 100644 --- a/spec/unit/core/dependency_spec.rb +++ b/spec/unit/core/dependency_spec.rb @@ -14,4 +14,17 @@ RSpec.describe Spandx::Core::Dependency do specify { expect(subject).not_to be_managed_by(nil) } specify { expect(subject).not_to be_managed_by(:rubygems) } end + + describe '<=>' do + def build(name, version) + described_class.new(package_manager: :rubygems, name: name, version: version) + end + + specify { expect(build('abc', '0.1.0') <=> build('bcd', '0.1.0')).to be < 0 } + specify { expect(build('Abc', '0.1.0') <=> build('acd', '0.1.0')).to be < 0 } + specify { expect(build('spandx', '1.0.0') <=> build('spandx', '2.0.0')).to be < 0 } + specify { expect(build('spandx', '1.0.0') <=> build('spandx', nil)).to be > 0 } + specify { expect(build('spandx', '1.0.0') <=> build(nil, '1.0.0')).to be > 0 } + specify { expect(build('spandx', '1.0.0') <=> nil).to be > 0 } + end end |
