multiset 0.5.1 → 0.5.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.
- checksums.yaml +5 -13
- data/History.txt +10 -0
- data/README.txt +3 -0
- data/lib/multimap.rb +135 -132
- data/lib/multiset.rb +327 -269
- data/spec/multiset_spec.rb +42 -42
- metadata +24 -21
- data/.gemtest +0 -0
data/spec/multiset_spec.rb
CHANGED
@@ -61,46 +61,46 @@ describe Multiset do
|
|
61
61
|
tmp2 = Multiset.new(%w'a a a a b b b c c d')
|
62
62
|
tmp3 = Multiset.new(%w'a a a b b b c c d')
|
63
63
|
|
64
|
-
(@ms1 == @ms2).should
|
65
|
-
(@ms1 == tmp1).should
|
66
|
-
(@ms1 == tmp2).should
|
67
|
-
(@ms1 == tmp3).should
|
64
|
+
(@ms1 == @ms2).should be false
|
65
|
+
(@ms1 == tmp1).should be false
|
66
|
+
(@ms1 == tmp2).should be true
|
67
|
+
(@ms1 == tmp3).should be false
|
68
68
|
|
69
|
-
(@ms1.subset?(@ms2)).should
|
70
|
-
(@ms1.subset?(tmp1)).should
|
71
|
-
(@ms1.subset?(tmp2)).should
|
72
|
-
(@ms1.subset?(tmp3)).should
|
73
|
-
(@ms2.subset?(@ms1)).should
|
74
|
-
(tmp1.subset?(@ms1)).should
|
75
|
-
(tmp2.subset?(@ms1)).should
|
76
|
-
(tmp3.subset?(@ms1)).should
|
69
|
+
(@ms1.subset?(@ms2)).should be false
|
70
|
+
(@ms1.subset?(tmp1)).should be true
|
71
|
+
(@ms1.subset?(tmp2)).should be true
|
72
|
+
(@ms1.subset?(tmp3)).should be false
|
73
|
+
(@ms2.subset?(@ms1)).should be false
|
74
|
+
(tmp1.subset?(@ms1)).should be false
|
75
|
+
(tmp2.subset?(@ms1)).should be true
|
76
|
+
(tmp3.subset?(@ms1)).should be true
|
77
77
|
|
78
|
-
(@ms1.proper_subset?(@ms2)).should
|
79
|
-
(@ms1.proper_subset?(tmp1)).should
|
80
|
-
(@ms1.proper_subset?(tmp2)).should
|
81
|
-
(@ms1.proper_subset?(tmp3)).should
|
82
|
-
(@ms2.proper_subset?(@ms1)).should
|
83
|
-
(tmp1.proper_subset?(@ms1)).should
|
84
|
-
(tmp2.proper_subset?(@ms1)).should
|
85
|
-
(tmp3.proper_subset?(@ms1)).should
|
78
|
+
(@ms1.proper_subset?(@ms2)).should be false
|
79
|
+
(@ms1.proper_subset?(tmp1)).should be true
|
80
|
+
(@ms1.proper_subset?(tmp2)).should be false
|
81
|
+
(@ms1.proper_subset?(tmp3)).should be false
|
82
|
+
(@ms2.proper_subset?(@ms1)).should be false
|
83
|
+
(tmp1.proper_subset?(@ms1)).should be false
|
84
|
+
(tmp2.proper_subset?(@ms1)).should be false
|
85
|
+
(tmp3.proper_subset?(@ms1)).should be true
|
86
86
|
|
87
|
-
(@ms1.superset?(@ms2)).should
|
88
|
-
(@ms1.superset?(tmp1)).should
|
89
|
-
(@ms1.superset?(tmp2)).should
|
90
|
-
(@ms1.superset?(tmp3)).should
|
91
|
-
(@ms2.superset?(@ms1)).should
|
92
|
-
(tmp1.superset?(@ms1)).should
|
93
|
-
(tmp2.superset?(@ms1)).should
|
94
|
-
(tmp3.superset?(@ms1)).should
|
87
|
+
(@ms1.superset?(@ms2)).should be false
|
88
|
+
(@ms1.superset?(tmp1)).should be false
|
89
|
+
(@ms1.superset?(tmp2)).should be true
|
90
|
+
(@ms1.superset?(tmp3)).should be true
|
91
|
+
(@ms2.superset?(@ms1)).should be false
|
92
|
+
(tmp1.superset?(@ms1)).should be true
|
93
|
+
(tmp2.superset?(@ms1)).should be true
|
94
|
+
(tmp3.superset?(@ms1)).should be false
|
95
95
|
|
96
|
-
(@ms1.proper_superset?(@ms2)).should
|
97
|
-
(@ms1.proper_superset?(tmp1)).should
|
98
|
-
(@ms1.proper_superset?(tmp2)).should
|
99
|
-
(@ms1.proper_superset?(tmp3)).should
|
100
|
-
(@ms2.proper_superset?(@ms1)).should
|
101
|
-
(tmp1.proper_superset?(@ms1)).should
|
102
|
-
(tmp2.proper_superset?(@ms1)).should
|
103
|
-
(tmp3.proper_superset?(@ms1)).should
|
96
|
+
(@ms1.proper_superset?(@ms2)).should be false
|
97
|
+
(@ms1.proper_superset?(tmp1)).should be false
|
98
|
+
(@ms1.proper_superset?(tmp2)).should be false
|
99
|
+
(@ms1.proper_superset?(tmp3)).should be true
|
100
|
+
(@ms2.proper_superset?(@ms1)).should be false
|
101
|
+
(tmp1.proper_superset?(@ms1)).should be true
|
102
|
+
(tmp2.proper_superset?(@ms1)).should be false
|
103
|
+
(tmp3.proper_superset?(@ms1)).should be false
|
104
104
|
end
|
105
105
|
|
106
106
|
it "should compute the intersection correctly" do
|
@@ -135,12 +135,12 @@ describe Multiset do
|
|
135
135
|
end
|
136
136
|
|
137
137
|
it "should have the same result between Multiset\#{all?, any?, none?, one?} and Enumerable\#{all?, any?, none?, one?}" do
|
138
|
-
@ms.all?{ |x| x == "a" }.should
|
139
|
-
@ms.any?{ |x| x == "a" }.should
|
140
|
-
@ms.none?{ |x| x == "a" }.should
|
141
|
-
@ms.none?{ |x| x.instance_of?(Integer) }.should
|
142
|
-
@ms.one?{ |x| x == "a" }.should
|
143
|
-
@ms.one?{ |x| x == "c" }.should
|
138
|
+
@ms.all?{ |x| x == "a" }.should be false
|
139
|
+
@ms.any?{ |x| x == "a" }.should be true
|
140
|
+
@ms.none?{ |x| x == "a" }.should be false
|
141
|
+
@ms.none?{ |x| x.instance_of?(Integer) }.should be true
|
142
|
+
@ms.one?{ |x| x == "a" }.should be false
|
143
|
+
@ms.one?{ |x| x == "c" }.should be true
|
144
144
|
end
|
145
145
|
|
146
146
|
it "should have the same result between Multiset#count and Enumerable#count" do
|
metadata
CHANGED
@@ -1,47 +1,50 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: multiset
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- H.Hiro(Maraigue)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdoc
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '4.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '4.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: hoe
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '3.
|
33
|
+
version: '3.16'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '3.
|
41
|
-
description:
|
42
|
-
can contain two or more same items
|
43
|
-
|
44
|
-
|
40
|
+
version: '3.16'
|
41
|
+
description: |-
|
42
|
+
Unlike ordinary set(see Ruby documentation for "set" library), multiset can contain two or more same items.
|
43
|
+
|
44
|
+
Set[:a,:b,:c,:b,:b,:c] # => #<Set: {:b, :c, :a}>
|
45
|
+
Multiset[:a,:b,:c,:b,:b,:c] # => #<Multiset:#3 :b, #2 :c, #1 :a>
|
46
|
+
|
47
|
+
Multisets are typically used for counting elements and their appearances in collections.
|
45
48
|
email:
|
46
49
|
- main@hhiro.net
|
47
50
|
executables: []
|
@@ -50,37 +53,37 @@ extra_rdoc_files:
|
|
50
53
|
- History.txt
|
51
54
|
- README.txt
|
52
55
|
files:
|
53
|
-
- .autotest
|
56
|
+
- ".autotest"
|
54
57
|
- History.txt
|
55
58
|
- README.txt
|
56
59
|
- Rakefile
|
57
|
-
- lib/multiset.rb
|
58
60
|
- lib/multimap.rb
|
61
|
+
- lib/multiset.rb
|
59
62
|
- spec/multiset_spec.rb
|
60
63
|
- spec/spec_helper.rb
|
61
|
-
- .gemtest
|
62
64
|
homepage: http://maraigue.hhiro.net/multiset/
|
63
|
-
licenses:
|
65
|
+
licenses:
|
66
|
+
- MIT
|
64
67
|
metadata: {}
|
65
68
|
post_install_message:
|
66
69
|
rdoc_options:
|
67
|
-
- --main
|
70
|
+
- "--main"
|
68
71
|
- README.txt
|
69
72
|
require_paths:
|
70
73
|
- lib
|
71
74
|
required_ruby_version: !ruby/object:Gem::Requirement
|
72
75
|
requirements:
|
73
|
-
- -
|
76
|
+
- - ">="
|
74
77
|
- !ruby/object:Gem::Version
|
75
78
|
version: '0'
|
76
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
80
|
requirements:
|
78
|
-
- -
|
81
|
+
- - ">="
|
79
82
|
- !ruby/object:Gem::Version
|
80
83
|
version: '0'
|
81
84
|
requirements: []
|
82
|
-
rubyforge_project:
|
83
|
-
rubygems_version: 2.
|
85
|
+
rubyforge_project:
|
86
|
+
rubygems_version: 2.6.11
|
84
87
|
signing_key:
|
85
88
|
specification_version: 4
|
86
89
|
summary: Unlike ordinary set(see Ruby documentation for "set" library), multiset can
|
data/.gemtest
DELETED
File without changes
|