axiom-types 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rspec +1 -0
- data/.travis.yml +11 -16
- data/Gemfile +5 -2
- data/Gemfile.devtools +19 -24
- data/Guardfile +18 -10
- data/README.md +5 -28
- data/axiom-types.gemspec +2 -3
- data/config/flay.yml +2 -2
- data/config/flog.yml +1 -1
- data/config/reek.yml +15 -13
- data/config/rubocop.yml +62 -0
- data/lib/axiom/types.rb +5 -3
- data/lib/axiom/types/boolean.rb +4 -2
- data/lib/axiom/types/collection.rb +5 -2
- data/lib/axiom/types/encodable.rb +1 -1
- data/lib/axiom/types/float.rb +3 -0
- data/lib/axiom/types/hash.rb +8 -3
- data/lib/axiom/types/length_comparable.rb +7 -4
- data/lib/axiom/types/numeric.rb +5 -0
- data/lib/axiom/types/object.rb +2 -2
- data/lib/axiom/types/support/infinity.rb +116 -0
- data/lib/axiom/types/support/options.rb +9 -18
- data/lib/axiom/types/time.rb +2 -2
- data/lib/axiom/types/type.rb +13 -9
- data/lib/axiom/types/value_comparable.rb +5 -2
- data/lib/axiom/types/version.rb +1 -1
- data/spec/unit/axiom/types/boolean/class_methods/infer_spec.rb +6 -0
- data/spec/unit/axiom/types/collection/class_methods/finalize_spec.rb +3 -3
- data/spec/unit/axiom/types/encodable/class_methods/extended_spec.rb +8 -7
- data/spec/unit/axiom/types/encodable/finalize_spec.rb +30 -8
- data/spec/unit/axiom/types/hash/class_methods/infer_spec.rb +17 -17
- data/spec/unit/axiom/types/infinity/class_methods/coerce_spec.rb +64 -0
- data/spec/unit/axiom/types/infinity/class_methods/spaceship_operator_spec.rb +67 -0
- data/spec/unit/axiom/types/infinity/class_methods/succ_spec.rb +11 -0
- data/spec/unit/axiom/types/length_comparable/class_methods/extended_spec.rb +17 -8
- data/spec/unit/axiom/types/negative_infinity/class_methods/spaceship_operator_spec.rb +67 -0
- data/spec/unit/axiom/types/object/class_methods/coercion_method_spec.rb +2 -2
- data/spec/unit/axiom/types/object/class_methods/infer_spec.rb +13 -1
- data/spec/unit/axiom/types/object/class_methods/primitive_spec.rb +4 -4
- data/spec/unit/axiom/types/options/accept_options_spec.rb +12 -4
- data/spec/unit/axiom/types/options/inherited_spec.rb +10 -36
- data/spec/unit/axiom/types/type/class_methods/constraint_spec.rb +6 -11
- data/spec/unit/axiom/types/type/class_methods/include_predicate_spec.rb +7 -7
- data/spec/unit/axiom/types/type/class_methods/includes_spec.rb +2 -2
- data/spec/unit/axiom/types/value_comparable/class_methods/extended_spec.rb +17 -8
- metadata +29 -31
- checksums.yaml +0 -7
@@ -20,8 +20,8 @@ describe Axiom::Types::Object, '.coercion_method' do
|
|
20
20
|
it_should_behave_like 'a command method'
|
21
21
|
|
22
22
|
it 'sets the coercion_method' do
|
23
|
-
expect { subject }.to change { object.coercion_method }
|
24
|
-
from(coercion_method).to(symbol)
|
23
|
+
expect { subject }.to change { object.coercion_method }
|
24
|
+
.from(coercion_method).to(symbol)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
|
-
require 'backports/basic_object' unless defined?(::BasicObject)
|
5
4
|
|
6
5
|
describe Axiom::Types::Object, '.infer' do
|
7
6
|
subject { object.infer(arg) }
|
@@ -29,6 +28,13 @@ describe Axiom::Types::Object, '.infer' do
|
|
29
28
|
Axiom::Types::Object.descendants.each do |descendant|
|
30
29
|
primitive = descendant.primitive
|
31
30
|
|
31
|
+
context "when the argument is #{descendant}" do
|
32
|
+
let(:object) { descendant }
|
33
|
+
let(:arg) { object }
|
34
|
+
|
35
|
+
it { should be(object) }
|
36
|
+
end
|
37
|
+
|
32
38
|
context "when the argument is ::#{primitive}" do
|
33
39
|
let(:arg) { primitive }
|
34
40
|
|
@@ -44,6 +50,12 @@ describe Axiom::Types::Object, '.infer' do
|
|
44
50
|
end
|
45
51
|
end
|
46
52
|
|
53
|
+
context 'when the argument is an object instance' do
|
54
|
+
let(:arg) { ::Object.new }
|
55
|
+
|
56
|
+
it { should be_nil }
|
57
|
+
end
|
58
|
+
|
47
59
|
context 'when the argument is nil' do
|
48
60
|
let(:arg) { nil }
|
49
61
|
|
@@ -3,8 +3,8 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
describe Axiom::Types::Object, '.primitive' do
|
6
|
-
let(:object) { Class.new(described_class)
|
7
|
-
let(:primitive) {
|
6
|
+
let(:object) { Class.new(described_class) }
|
7
|
+
let(:primitive) { ::BasicObject }
|
8
8
|
|
9
9
|
context 'with no arguments' do
|
10
10
|
subject { object.primitive }
|
@@ -20,8 +20,8 @@ describe Axiom::Types::Object, '.primitive' do
|
|
20
20
|
it_should_behave_like 'a command method'
|
21
21
|
|
22
22
|
it 'sets the primitive' do
|
23
|
-
expect { subject }.to change { object.primitive.object_id }
|
24
|
-
from(primitive.object_id).to(klass.object_id)
|
23
|
+
expect { subject }.to change { object.primitive.object_id }
|
24
|
+
.from(primitive.object_id).to(klass.object_id)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -9,7 +9,7 @@ describe Axiom::Types::Options, '#accept_options' do
|
|
9
9
|
let(:descendant) { Class.new(object) }
|
10
10
|
|
11
11
|
context 'with valid options' do
|
12
|
-
let(:new_options) { [
|
12
|
+
let(:new_options) { [:primitive, :coerce_method] }
|
13
13
|
|
14
14
|
it_should_behave_like 'a command method'
|
15
15
|
it_should_behave_like 'an idempotent method'
|
@@ -20,10 +20,18 @@ describe Axiom::Types::Options, '#accept_options' do
|
|
20
20
|
expect(object).to respond_to(*new_options)
|
21
21
|
end
|
22
22
|
|
23
|
+
it 'defines the instance variables for the options' do
|
24
|
+
subject
|
25
|
+
expect(object.instance_variable_defined?(:@primitive)).to be(true)
|
26
|
+
expect(object.instance_variable_defined?(:@coerce_method)).to be(true)
|
27
|
+
end
|
28
|
+
|
23
29
|
it 'adds methods to the object that can set a value' do
|
24
30
|
subject
|
25
|
-
object.primitive(
|
26
|
-
|
31
|
+
expect { object.primitive(Class) }
|
32
|
+
.to change(object, :primitive).from(nil).to(Class)
|
33
|
+
expect { object.coerce_method(:to_class) }
|
34
|
+
.to change(object, :coerce_method).from(nil).to(:to_class)
|
27
35
|
end
|
28
36
|
|
29
37
|
context 'with the descendant class' do
|
@@ -86,7 +94,7 @@ describe Axiom::Types::Options, '#accept_options' do
|
|
86
94
|
end
|
87
95
|
|
88
96
|
context 'with an option that conflicts with an existing method' do
|
89
|
-
let(:new_options) { [
|
97
|
+
let(:new_options) { [:name] }
|
90
98
|
|
91
99
|
specify do
|
92
100
|
expect { subject }.to raise_error(
|
@@ -21,44 +21,18 @@ describe Axiom::Types::Options, '#inherited' do
|
|
21
21
|
Class.new(object)
|
22
22
|
end
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
subject
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'adds the accepted option to the descendant' do
|
31
|
-
subject
|
32
|
-
expect(descendant).to respond_to(:primitive, :coerce_method)
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'sets the default value for the descendant' do
|
36
|
-
subject
|
37
|
-
expect(descendant.primitive).to be(::String)
|
38
|
-
end
|
24
|
+
it 'delegates to the ancestor' do
|
25
|
+
ancestor.should_receive(:inherited).twice
|
26
|
+
subject
|
39
27
|
end
|
40
28
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
descendant.instance_variable_set(:@primitive, ::Integer)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'delegates to the ancestor' do
|
50
|
-
ancestor.should_receive(:inherited).twice
|
51
|
-
subject
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'adds the accepted option to the descendant' do
|
55
|
-
subject
|
56
|
-
expect(descendant).to respond_to(:primitive, :coerce_method)
|
57
|
-
end
|
29
|
+
it 'adds the accepted option to the descendant' do
|
30
|
+
subject
|
31
|
+
expect(descendant).to respond_to(:primitive, :coerce_method)
|
32
|
+
end
|
58
33
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
end
|
34
|
+
it 'sets the default value for the descendant' do
|
35
|
+
subject
|
36
|
+
expect(descendant.primitive).to be(::String)
|
63
37
|
end
|
64
38
|
end
|
@@ -5,13 +5,8 @@ require 'spec_helper'
|
|
5
5
|
describe Axiom::Types::Type, '.constraint' do
|
6
6
|
let(:object) { Class.new(described_class) }
|
7
7
|
|
8
|
-
let(:callable)
|
9
|
-
|
10
|
-
end
|
11
|
-
|
12
|
-
let(:other) do
|
13
|
-
lambda { |number| number < 3 }
|
14
|
-
end
|
8
|
+
let(:callable) { ->(number) { number > 1 } }
|
9
|
+
let(:other) { ->(number) { number < 3 } }
|
15
10
|
|
16
11
|
context 'with no arguments or block' do
|
17
12
|
subject { object.constraint }
|
@@ -27,7 +22,7 @@ describe Axiom::Types::Type, '.constraint' do
|
|
27
22
|
|
28
23
|
its(:constraint) { should respond_to(:call) }
|
29
24
|
|
30
|
-
it 'creates a constraint that matches a number
|
25
|
+
it 'creates a constraint that matches a number > 1' do
|
31
26
|
expect(object).to include(1)
|
32
27
|
expect(object).to include(2)
|
33
28
|
expect(object).to include(3)
|
@@ -44,7 +39,7 @@ describe Axiom::Types::Type, '.constraint' do
|
|
44
39
|
|
45
40
|
its(:constraint) { should respond_to(:call) }
|
46
41
|
|
47
|
-
it 'creates a constraint that matches a number
|
42
|
+
it 'creates a constraint that matches a number > 1 and < 3' do
|
48
43
|
expect(object).to include(1)
|
49
44
|
expect(object).to include(2)
|
50
45
|
expect(object).to include(3)
|
@@ -63,7 +58,7 @@ describe Axiom::Types::Type, '.constraint' do
|
|
63
58
|
|
64
59
|
its(:constraint) { should respond_to(:call) }
|
65
60
|
|
66
|
-
it 'creates a constraint that matches a number
|
61
|
+
it 'creates a constraint that matches a number > 1' do
|
67
62
|
expect(object).to include(1)
|
68
63
|
expect(object).to include(2)
|
69
64
|
expect(object).to include(3)
|
@@ -80,7 +75,7 @@ describe Axiom::Types::Type, '.constraint' do
|
|
80
75
|
|
81
76
|
its(:constraint) { should respond_to(:call) }
|
82
77
|
|
83
|
-
it 'creates a constraint that matches a number
|
78
|
+
it 'creates a constraint that matches a number > 1 and < 3' do
|
84
79
|
expect(object).to include(1)
|
85
80
|
expect(object).to include(2)
|
86
81
|
expect(object).to include(3)
|
@@ -5,20 +5,20 @@ require 'spec_helper'
|
|
5
5
|
describe Axiom::Types::Type, '.include?' do
|
6
6
|
subject { object.include?(value) }
|
7
7
|
|
8
|
-
let(:
|
8
|
+
let(:object) do
|
9
|
+
Class.new(described_class) do
|
10
|
+
constraint(->(object) { !object.nil? })
|
11
|
+
end
|
12
|
+
end
|
9
13
|
|
10
14
|
context 'when the value matches the type constraint' do
|
11
|
-
let(:
|
15
|
+
let(:value) { Object.new }
|
12
16
|
|
13
17
|
it { should be(true) }
|
14
18
|
end
|
15
19
|
|
16
20
|
context 'when the value does not match the type constraint' do
|
17
|
-
let(:
|
18
|
-
Class.new(described_class) do
|
19
|
-
constraint(proc { false })
|
20
|
-
end
|
21
|
-
end
|
21
|
+
let(:value) { nil }
|
22
22
|
|
23
23
|
it { should be(false) }
|
24
24
|
end
|
@@ -8,8 +8,8 @@ describe Axiom::Types::Type, '.includes' do
|
|
8
8
|
let(:object) { Class.new(described_class) }
|
9
9
|
|
10
10
|
context 'with a non-empty list' do
|
11
|
-
let(:member) { Object.new
|
12
|
-
let(:members) { [
|
11
|
+
let(:member) { Object.new }
|
12
|
+
let(:members) { [member, member] }
|
13
13
|
|
14
14
|
it_should_behave_like 'a command method'
|
15
15
|
|
@@ -9,24 +9,33 @@ describe Axiom::Types::ValueComparable, '.extended' do
|
|
9
9
|
|
10
10
|
it 'delegates to the ancestor' do
|
11
11
|
# RSpec will reset stubbed methods after the example. A normal expectation
|
12
|
-
# causes a SystemStackError to be thrown, so we stub it first so that
|
13
|
-
# tracks the original method (if any), then we add our own stub that
|
14
|
-
# actually works, and finally when the example finishes RSpec will reset
|
15
|
-
# Module#extended method back to it's original state.
|
12
|
+
# causes a SystemStackError to be thrown, so we stub it first so that
|
13
|
+
# RSpec tracks the original method (if any), then we add our own stub that
|
14
|
+
# actually works, and finally when the example finishes RSpec will reset
|
15
|
+
# the Module#extended method back to it's original state.
|
16
16
|
Module.any_instance.stub(:extended).with(object)
|
17
17
|
|
18
18
|
delegated_ancestor = false
|
19
|
+
Module.send(:undef_method, :extended)
|
19
20
|
Module.send(:define_method, :extended) { |_| delegated_ancestor = true }
|
20
21
|
expect { subject }.to change { delegated_ancestor }.from(false).to(true)
|
21
22
|
end
|
22
23
|
|
23
24
|
it 'adds minimum method' do
|
24
|
-
expect { subject }.to change { object.respond_to?(:minimum) }
|
25
|
-
from(false).to(true)
|
25
|
+
expect { subject }.to change { object.respond_to?(:minimum) }
|
26
|
+
.from(false).to(true)
|
26
27
|
end
|
27
28
|
|
28
29
|
it 'adds maxumum method' do
|
29
|
-
expect { subject }.to change { object.respond_to?(:maximum) }
|
30
|
-
from(false).to(true)
|
30
|
+
expect { subject }.to change { object.respond_to?(:maximum) }
|
31
|
+
.from(false).to(true)
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'does not set the default minimum' do
|
35
|
+
expect(subject.minimum).to be_nil
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'does not set the default maximum' do
|
39
|
+
expect(subject.maximum).to be_nil
|
31
40
|
end
|
32
41
|
end
|
metadata
CHANGED
@@ -1,38 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: axiom-types
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Dan Kubb
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-
|
12
|
+
date: 2013-08-22 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: backports
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '3.3'
|
20
|
-
- - '>='
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 3.3.2
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '3.3'
|
30
|
-
- - '>='
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 3.3.2
|
33
14
|
- !ruby/object:Gem::Dependency
|
34
15
|
name: descendants_tracker
|
35
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
36
18
|
requirements:
|
37
19
|
- - ~>
|
38
20
|
- !ruby/object:Gem::Version
|
@@ -40,6 +22,7 @@ dependencies:
|
|
40
22
|
type: :runtime
|
41
23
|
prerelease: false
|
42
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
43
26
|
requirements:
|
44
27
|
- - ~>
|
45
28
|
- !ruby/object:Gem::Version
|
@@ -47,35 +30,39 @@ dependencies:
|
|
47
30
|
- !ruby/object:Gem::Dependency
|
48
31
|
name: ice_nine
|
49
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
50
34
|
requirements:
|
51
35
|
- - ~>
|
52
36
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.
|
37
|
+
version: '0.9'
|
54
38
|
type: :runtime
|
55
39
|
prerelease: false
|
56
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
57
42
|
requirements:
|
58
43
|
- - ~>
|
59
44
|
- !ruby/object:Gem::Version
|
60
|
-
version: 0.
|
45
|
+
version: '0.9'
|
61
46
|
- !ruby/object:Gem::Dependency
|
62
47
|
name: bundler
|
63
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
64
50
|
requirements:
|
65
51
|
- - ~>
|
66
52
|
- !ruby/object:Gem::Version
|
67
53
|
version: '1.3'
|
68
|
-
- - '>='
|
54
|
+
- - ! '>='
|
69
55
|
- !ruby/object:Gem::Version
|
70
56
|
version: 1.3.5
|
71
57
|
type: :development
|
72
58
|
prerelease: false
|
73
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
74
61
|
requirements:
|
75
62
|
- - ~>
|
76
63
|
- !ruby/object:Gem::Version
|
77
64
|
version: '1.3'
|
78
|
-
- - '>='
|
65
|
+
- - ! '>='
|
79
66
|
- !ruby/object:Gem::Version
|
80
67
|
version: 1.3.5
|
81
68
|
description: Abstract types for logic programming
|
@@ -107,6 +94,7 @@ files:
|
|
107
94
|
- config/mutant.yml
|
108
95
|
- config/reek.yml
|
109
96
|
- config/roodi.yml
|
97
|
+
- config/rubocop.yml
|
110
98
|
- config/yardstick.yml
|
111
99
|
- lib/axiom-types.rb
|
112
100
|
- lib/axiom/types.rb
|
@@ -126,6 +114,7 @@ files:
|
|
126
114
|
- lib/axiom/types/object.rb
|
127
115
|
- lib/axiom/types/set.rb
|
128
116
|
- lib/axiom/types/string.rb
|
117
|
+
- lib/axiom/types/support/infinity.rb
|
129
118
|
- lib/axiom/types/support/options.rb
|
130
119
|
- lib/axiom/types/symbol.rb
|
131
120
|
- lib/axiom/types/time.rb
|
@@ -143,8 +132,12 @@ files:
|
|
143
132
|
- spec/unit/axiom/types/encodable/finalize_spec.rb
|
144
133
|
- spec/unit/axiom/types/hash/class_methods/finalize_spec.rb
|
145
134
|
- spec/unit/axiom/types/hash/class_methods/infer_spec.rb
|
135
|
+
- spec/unit/axiom/types/infinity/class_methods/coerce_spec.rb
|
136
|
+
- spec/unit/axiom/types/infinity/class_methods/spaceship_operator_spec.rb
|
137
|
+
- spec/unit/axiom/types/infinity/class_methods/succ_spec.rb
|
146
138
|
- spec/unit/axiom/types/length_comparable/class_methods/extended_spec.rb
|
147
139
|
- spec/unit/axiom/types/length_comparable/finalize_spec.rb
|
140
|
+
- spec/unit/axiom/types/negative_infinity/class_methods/spaceship_operator_spec.rb
|
148
141
|
- spec/unit/axiom/types/object/class_methods/coercion_method_spec.rb
|
149
142
|
- spec/unit/axiom/types/object/class_methods/finalize_spec.rb
|
150
143
|
- spec/unit/axiom/types/object/class_methods/infer_spec.rb
|
@@ -163,26 +156,27 @@ files:
|
|
163
156
|
homepage: https://github.com/dkubb/axiom-types
|
164
157
|
licenses:
|
165
158
|
- MIT
|
166
|
-
metadata: {}
|
167
159
|
post_install_message:
|
168
160
|
rdoc_options: []
|
169
161
|
require_paths:
|
170
162
|
- lib
|
171
163
|
required_ruby_version: !ruby/object:Gem::Requirement
|
164
|
+
none: false
|
172
165
|
requirements:
|
173
|
-
- - '>='
|
166
|
+
- - ! '>='
|
174
167
|
- !ruby/object:Gem::Version
|
175
168
|
version: '0'
|
176
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
|
+
none: false
|
177
171
|
requirements:
|
178
|
-
- - '>='
|
172
|
+
- - ! '>='
|
179
173
|
- !ruby/object:Gem::Version
|
180
174
|
version: '0'
|
181
175
|
requirements: []
|
182
176
|
rubyforge_project:
|
183
|
-
rubygems_version:
|
177
|
+
rubygems_version: 1.8.23
|
184
178
|
signing_key:
|
185
|
-
specification_version:
|
179
|
+
specification_version: 3
|
186
180
|
summary: Define types with optional constraints for use within axiom and other libraries.
|
187
181
|
test_files:
|
188
182
|
- spec/unit/axiom/types/array/class_methods/infer_spec.rb
|
@@ -195,8 +189,12 @@ test_files:
|
|
195
189
|
- spec/unit/axiom/types/encodable/finalize_spec.rb
|
196
190
|
- spec/unit/axiom/types/hash/class_methods/finalize_spec.rb
|
197
191
|
- spec/unit/axiom/types/hash/class_methods/infer_spec.rb
|
192
|
+
- spec/unit/axiom/types/infinity/class_methods/coerce_spec.rb
|
193
|
+
- spec/unit/axiom/types/infinity/class_methods/spaceship_operator_spec.rb
|
194
|
+
- spec/unit/axiom/types/infinity/class_methods/succ_spec.rb
|
198
195
|
- spec/unit/axiom/types/length_comparable/class_methods/extended_spec.rb
|
199
196
|
- spec/unit/axiom/types/length_comparable/finalize_spec.rb
|
197
|
+
- spec/unit/axiom/types/negative_infinity/class_methods/spaceship_operator_spec.rb
|
200
198
|
- spec/unit/axiom/types/object/class_methods/coercion_method_spec.rb
|
201
199
|
- spec/unit/axiom/types/object/class_methods/finalize_spec.rb
|
202
200
|
- spec/unit/axiom/types/object/class_methods/infer_spec.rb
|