summaryrefslogtreecommitdiff
path: root/spec/unit
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-04-13 17:05:47 -0600
committermo khan <mo.khan@gmail.com>2020-04-13 17:05:47 -0600
commit33b36e31f431a1eb3fdbbf46df21c24029b1e387 (patch)
tree9935772cde56981fac22627e9555fbc00509bc69 /spec/unit
parent5e3fdf6e9c7463863f581d167b5cc1c74ac30b1a (diff)
Optimise sort, hash and equality operations
Diffstat (limited to 'spec/unit')
-rw-r--r--spec/unit/core/dependency_spec.rb13
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