mug 1.2.0 → 1.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e14ce5838a2c49e7ede7dba94a8aa1b330efba9ecec52261d611985d30bd47d
4
- data.tar.gz: 89a7d9d6ddb730004f062f625d81301f1d9271759b8c5ab717e1a42407981b44
3
+ metadata.gz: c21f58658e25bbdc5ffa1d9fc3b5a80ba7da9c4a49348681523a034e21d6972e
4
+ data.tar.gz: 2db7532d87137ca0bf31ac1d460b7bf487ee15abdbc8e09f5d32310e8a5bd8d5
5
5
  SHA512:
6
- metadata.gz: 5f3da00b7a7b2ba58dfcd8b5efaae57ccd035c9e36d90182a13204578089e071d0a6a614c031585eaf81f8f9bd4c06adbaf8d04a52159ad37951b396c0b73c08
7
- data.tar.gz: 71c1e2a2cf4c87b0b4a4e13f837c36042c374b0b50a6d210d09b838b0470e87310765c57bee9ad02b711d4bc1287cd5856b0ef26ee2c2a2fbcee30a12f10e965
6
+ metadata.gz: 96db9c590c28244950a74746f680549234780c34a259819991b3efccc78cc2fb5294f3b9655fe3f428b50805d472b67c43c86ad7c60608e80b039cbd8f34ddc8
7
+ data.tar.gz: e57ca3a0fa44884f06fb5bfc3a7b1a26d5055b1e1b6ccdcf7832df86d7c39f18d5dfad512c4666d1f466f5c0fe5ffbd76a69fee3d7482d00b853b6ed74070a0b
@@ -7,7 +7,7 @@ class Object
7
7
  # If a block is given, +obj+ is yielded to it; if it returns truthy,
8
8
  # +default+ is returned, otherwise +obj+ is returned.
9
9
  #
10
- def and default
10
+ def and default, &_block
11
11
  if block_given?
12
12
  yield(self) ? default : self
13
13
  else
@@ -21,7 +21,7 @@ class Object
21
21
  # If a block is given, +obj+ is yielded to it; if it returns truthy,
22
22
  # +obj+ is returned, otherwise +default+ is returned.
23
23
  #
24
- def or default
24
+ def or default, &_block
25
25
  if block_given?
26
26
  yield(self) ? self : default
27
27
  else
@@ -34,7 +34,7 @@ class Object
34
34
  #
35
35
  # Returns +obj+.
36
36
  #
37
- def and_then &block
37
+ def and_then &_block
38
38
  yield self if self
39
39
  self
40
40
  end
@@ -44,7 +44,7 @@ class Object
44
44
  #
45
45
  # Returns +obj+.
46
46
  #
47
- def or_then &block
47
+ def or_then &_block
48
48
  yield self unless self
49
49
  self
50
50
  end
@@ -52,7 +52,7 @@ class Object
52
52
  end
53
53
 
54
54
  =begin
55
- Copyright (c) 2017, Matthew Kerwin <matthew@kerwin.net.au>
55
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
56
56
 
57
57
  Permission to use, copy, modify, and/or distribute this software for any
58
58
  purpose with or without fee is hereby granted, provided that the above
@@ -10,7 +10,7 @@ class Array
10
10
  #
11
11
  # See #delete_if, #reject!
12
12
  #
13
- def delete_all &block
13
+ def delete_all &_block
14
14
  return enum_for :delete_all unless block_given?
15
15
  [].tap do |removed|
16
16
  delete_if do |e|
@@ -25,7 +25,7 @@ class Array
25
25
  end
26
26
 
27
27
  =begin
28
- Copyright (c) 2017, Matthew Kerwin <matthew@kerwin.net.au>
28
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
29
29
 
30
30
  Permission to use, copy, modify, and/or distribute this software for any
31
31
  purpose with or without fee is hereby granted, provided that the above
@@ -33,7 +33,7 @@ class Numeric
33
33
  # Returns true if not zero.
34
34
  #
35
35
  def to_b
36
- self != 0
36
+ !self.zero?
37
37
  end
38
38
  end
39
39
 
@@ -93,9 +93,10 @@ class Enumerator
93
93
  #
94
94
  # Converts enum to a boolean.
95
95
  # Returns true if there are any elements.
96
+ # An enumerator whose size cannot be calculated lazily is assumed to be true.
96
97
  #
97
98
  def to_b
98
- size.to_b
99
+ (s = size).nil? || s.to_b
99
100
  end
100
101
  end
101
102
  end
@@ -111,7 +112,7 @@ class Exception
111
112
  end
112
113
 
113
114
  =begin
114
- Copyright (c) 2013, Matthew Kerwin <matthew@kerwin.net.au>
115
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
115
116
 
116
117
  Permission to use, copy, modify, and/or distribute this software for any
117
118
  purpose with or without fee is hereby granted, provided that the above
@@ -33,9 +33,7 @@ class Range
33
33
 
34
34
  b = last
35
35
  if val >= b
36
- if exclude_end?
37
- raise ArgumentError, 'more than or equal to the exclusive range'
38
- end
36
+ raise ArgumentError, 'greater than or equal to the exclusive range' if exclude_end?
39
37
  return b
40
38
  end
41
39
 
@@ -45,7 +43,7 @@ class Range
45
43
  end
46
44
 
47
45
  =begin
48
- Copyright (c) 2014, Matthew Kerwin <matthew@kerwin.net.au>
46
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
49
47
 
50
48
  Permission to use, copy, modify, and/or distribute this software for any
51
49
  purpose with or without fee is hereby granted, provided that the above
@@ -9,11 +9,12 @@ module Enumerable
9
9
  def chain *enums
10
10
  return enum_for(:chain, *enums) unless block_given?
11
11
  enums.each do |enum|
12
- enum.each {|*args| yield *args }
12
+ enum.each {|*args| yield(*args) }
13
13
  end
14
14
  end
15
15
  end
16
16
 
17
+ undef chain if RUBY_VERSION >= '2.6'
17
18
  #
18
19
  # Creates a chain of Enumerables following this one, and
19
20
  # invokes a block once for each element of each Enumerable.
@@ -21,7 +22,7 @@ module Enumerable
21
22
  def chain *enums
22
23
  return enum_for(:chain, *enums) unless block_given?
23
24
  [self, *enums].each do |enum|
24
- enum.each {|*args| yield *args }
25
+ enum.each {|*args| yield(*args) }
25
26
  end
26
27
  nil
27
28
  end
@@ -20,7 +20,7 @@ module Enumerable
20
20
  #
21
21
  # If no block is given, an enumerator is returned.
22
22
  #
23
- def counts_by &block
23
+ def counts_by &_block
24
24
  return enum_for(:counts_by) unless block_given?
25
25
  hsh = Hash.new{|h,k| h[k] = 0 }
26
26
  each do |j|
@@ -133,6 +133,7 @@ module Enumerable
133
133
  end
134
134
  alias size length
135
135
 
136
+ undef member? # FIXME: do something about this? maybe warn?
136
137
  ##
137
138
  # Returns true if the given key is present in this enum.
138
139
  #
@@ -7,7 +7,7 @@ class Hash
7
7
  # {'a'=>1, 'b'=>2}.map_values { |v| v*2 } #=> {'a'=>2, 'b'=>4}
8
8
  # {'a'=>1, 'b'=>2}.map_values { "cat" } #=> {'a'=>"cat", 'b'=>"cat"}
9
9
  #
10
- def map_values &block # :yields: value
10
+ def map_values &_block # :yields: value
11
11
  hsh = {}
12
12
  each do |k, v|
13
13
  hsh[k] = yield v
@@ -34,7 +34,7 @@ class Hash
34
34
  # {'a'=>1, 'b'=>2}.map_keys { |k| k*2 } #=> {'aa'=>1, 'bb'=>2}
35
35
  # {'a'=>1, 'b'=>2}.map_keys { "cat" } #=> {'cat'=>2}
36
36
  #
37
- def map_keys &block # :yields: key
37
+ def map_keys &_block # :yields: key
38
38
  hsh = {}
39
39
  each do |k, v|
40
40
  hsh[ yield k ] = v
@@ -63,7 +63,7 @@ class Hash
63
63
  # {'a'=>1, 'b'=>2}.map_pairs { |k,v| [k*2, v+1] } #=> {'aa'=>2, 'bb'=>3}
64
64
  # {'a'=>1, 'b'=>2}.map_pairs { ["cat","dog"] } #=> {'cat'=>'dog'}
65
65
  #
66
- def map_pairs &block # :yields: key, value
66
+ def map_pairs &_block # :yields: key, value
67
67
  hsh = {}
68
68
  each do |k, v|
69
69
  a, b = yield k, v
@@ -83,7 +83,7 @@ class Hash
83
83
  end
84
84
 
85
85
  =begin
86
- Copyright (c) 2013, Matthew Kerwin <matthew@kerwin.net.au>
86
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
87
87
 
88
88
  Permission to use, copy, modify, and/or distribute this software for any
89
89
  purpose with or without fee is hereby granted, provided that the above
@@ -1,19 +1,3 @@
1
- =begin
2
- Copyright (c) 2016, Matthew Kerwin <matthew@kerwin.net.au>
3
-
4
- Permission to use, copy, modify, and/or distribute this software for any
5
- purpose with or without fee is hereby granted, provided that the above
6
- copyright notice and this permission notice appear in all copies.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
- =end
16
-
17
1
 
18
2
  class Hash
19
3
 
@@ -55,3 +39,18 @@ class Hash
55
39
 
56
40
  end
57
41
 
42
+ =begin
43
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
44
+
45
+ Permission to use, copy, modify, and/or distribute this software for any
46
+ purpose with or without fee is hereby granted, provided that the above
47
+ copyright notice and this permission notice appear in all copies.
48
+
49
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
50
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
51
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
52
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
53
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
54
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
55
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
56
+ =end
@@ -4,7 +4,7 @@ class MatchData
4
4
  # Iterates over each capture group in the MatchData object,
5
5
  # including +$&+ (the entire matched string), yielding the
6
6
  # captured string.
7
- def each &b
7
+ def each &_b
8
8
  return enum_for(:each) unless block_given?
9
9
  to_a.each{|v| yield v }
10
10
  end
@@ -15,7 +15,7 @@ class MatchData
15
15
  # The capture positions are either all Strings or all Integers,
16
16
  # depending on whether the original Regexp had named capture
17
17
  # groups or not.
18
- def each_capture &b
18
+ def each_capture &_b
19
19
  return enum_for(:each_capture) unless block_given?
20
20
  if names.empty?
21
21
  captures.each_with_index{|v,i| yield i+1, v }
@@ -26,7 +26,7 @@ class MatchData
26
26
 
27
27
  # Iterates over each named capture group in the MatchData object,
28
28
  # yielding the capture name and string.
29
- def each_named_capture &b
29
+ def each_named_capture &_b
30
30
  return enum_for(:each_named_capture) unless block_given?
31
31
  names.each{|n| yield n, self[n] }
32
32
  end
@@ -39,7 +39,7 @@ class MatchData
39
39
  #
40
40
  # WARNING: if mixing named and positional captures, no positional
41
41
  # captures will be available using this method!
42
- def each_positional_capture include_names: false, &b
42
+ def each_positional_capture include_names: false, &_b
43
43
  return enum_for(:each_positional_capture, include_names: include_names) unless block_given?
44
44
  return unless names.empty? || include_names
45
45
  captures.each_with_index{|v,i| yield i+1, v }
@@ -48,7 +48,7 @@ class MatchData
48
48
  end
49
49
 
50
50
  =begin
51
- Copyright (c) 2016, Matthew Kerwin <matthew@kerwin.net.au>
51
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
52
52
 
53
53
  Permission to use, copy, modify, and/or distribute this software for any
54
54
  purpose with or without fee is hereby granted, provided that the above
@@ -14,10 +14,12 @@ class MatchData
14
14
  end
15
15
  end
16
16
 
17
+ if RUBY_VERSION < '2.4'
17
18
  # Returns a Hash object of capture name => captured string.
18
19
  def named_captures
19
20
  Hash[ names.map{|n| [n, self[n]] } ]
20
21
  end
22
+ end
21
23
 
22
24
  # Returns a Hash object of capture position => captured string.
23
25
  #
@@ -34,7 +36,7 @@ class MatchData
34
36
  end
35
37
 
36
38
  =begin
37
- Copyright (c) 2016, Matthew Kerwin <matthew@kerwin.net.au>
39
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
38
40
 
39
41
  Permission to use, copy, modify, and/or distribute this software for any
40
42
  purpose with or without fee is hereby granted, provided that the above
@@ -6,7 +6,7 @@ class Object
6
6
  # If a block is given, this object is yielded to it, and the result
7
7
  # is returned.
8
8
  #
9
- def self(&block)
9
+ def self(&_block)
10
10
  if block_given?
11
11
  yield self
12
12
  else
@@ -26,7 +26,7 @@ class Object
26
26
  # to a block. If no block is given, returns an
27
27
  # Enumerator.
28
28
  #
29
- def revapply(*args, &block)
29
+ def revapply(*args, &_block)
30
30
  if block_given?
31
31
  yield self, *args
32
32
  else
@@ -37,7 +37,7 @@ class Object
37
37
  end
38
38
 
39
39
  =begin
40
- Copyright (c) 2017, Matthew Kerwin <matthew@kerwin.net.au>
40
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
41
41
 
42
42
  Permission to use, copy, modify, and/or distribute this software for any
43
43
  purpose with or without fee is hereby granted, provided that the above
@@ -8,7 +8,7 @@ module Enumerable
8
8
  #
9
9
  # @see Enumerable#sort
10
10
  #
11
- def top n=1, &blk
11
+ def top n=1, &_blk
12
12
  if block_given?
13
13
  sort{|x,y| yield y, x }[0...n]
14
14
  else
@@ -32,7 +32,7 @@ module Enumerable
32
32
  #
33
33
  # @see Enumerable#sort_by
34
34
  #
35
- def top_by n=1, &blk
35
+ def top_by n=1, &_blk
36
36
  return enum_for(:top_by, n) unless block_given?
37
37
  chain = {}
38
38
  each do |x|
@@ -75,7 +75,7 @@ module Enumerable
75
75
  #
76
76
  # @see Enumerable#sort_by
77
77
  #
78
- def bottom_by n=1, &blk
78
+ def bottom_by n=1, &_blk
79
79
  return enum_for(:bottom_by, n) unless block_given?
80
80
  chain = {}
81
81
  each do |x|
@@ -111,7 +111,7 @@ class Array
111
111
  end
112
112
 
113
113
  =begin
114
- Copyright (c) 2014-2017, Matthew Kerwin <matthew@kerwin.net.au>
114
+ Copyright (c) 2018, Matthew Kerwin <matthew@kerwin.net.au>
115
115
 
116
116
  Permission to use, copy, modify, and/or distribute this software for any
117
117
  purpose with or without fee is hereby granted, provided that the above
@@ -14,8 +14,8 @@ class Test_enumerable_chain < Test::Unit::TestCase
14
14
  ]
15
15
 
16
16
  result = []
17
- a.chain(b, c) do |*a|
18
- result << a
17
+ a.chain(b, c) do |*x|
18
+ result << x
19
19
  end
20
20
 
21
21
  assert_equal( expect, result )
@@ -35,8 +35,8 @@ class Test_enumerable_chain < Test::Unit::TestCase
35
35
  assert_kind_of( Enumerator, enum )
36
36
 
37
37
  result = []
38
- enum.each do |*a|
39
- result << a
38
+ enum.each do |*x|
39
+ result << x
40
40
  end
41
41
 
42
42
  assert_equal( expect, result )
@@ -51,8 +51,8 @@ class Test_enumerable_chain < Test::Unit::TestCase
51
51
  ]
52
52
 
53
53
  result = []
54
- Enumerable.chain(a, b) do |*a|
55
- result << a
54
+ Enumerable.chain(a, b) do |*x|
55
+ result << x
56
56
  end
57
57
 
58
58
  assert_equal( expect, result )
@@ -70,8 +70,8 @@ class Test_enumerable_chain < Test::Unit::TestCase
70
70
  assert_kind_of( Enumerator, enum )
71
71
 
72
72
  result = []
73
- enum.each do |*a|
74
- result << a
73
+ enum.each do |*x|
74
+ result << x
75
75
  end
76
76
 
77
77
  assert_equal( expect, result )
@@ -7,7 +7,7 @@ class Test_loop_with < Test::Unit::TestCase
7
7
  def test_loop_with_index__block
8
8
  a = []
9
9
  b = []
10
- x = loop_with_index do |i|
10
+ _x = loop_with_index do |i|
11
11
  a << i
12
12
  break if a.length >= 3
13
13
  end
@@ -22,7 +22,7 @@ class Test_loop_with < Test::Unit::TestCase
22
22
  def test_loop_with_index__block_offset
23
23
  a = []
24
24
  b = []
25
- x = loop_with_index(10) do |i|
25
+ _x = loop_with_index(10) do |i|
26
26
  a << i
27
27
  break if a.length >= 3
28
28
  end
@@ -40,7 +40,7 @@ class Test_loop_with < Test::Unit::TestCase
40
40
 
41
41
  a = []
42
42
  b = []
43
- x = enum.each do |i|
43
+ _x = enum.each do |i|
44
44
  a << i
45
45
  break if a.length >= 3
46
46
  end
@@ -58,7 +58,7 @@ class Test_loop_with < Test::Unit::TestCase
58
58
 
59
59
  a = []
60
60
  b = []
61
- x = enum.each do |i|
61
+ _x = enum.each do |i|
62
62
  a << i
63
63
  break if a.length >= 3
64
64
  end
@@ -75,7 +75,7 @@ class Test_loop_with < Test::Unit::TestCase
75
75
  o = "x"
76
76
  a = []
77
77
  b = []
78
- x = loop_with_object(o) do |e|
78
+ _x = loop_with_object(o) do |e|
79
79
  a << e
80
80
  break if a.length >= 3
81
81
  end
@@ -94,7 +94,7 @@ class Test_loop_with < Test::Unit::TestCase
94
94
 
95
95
  a = []
96
96
  b = []
97
- x = enum.each do |e|
97
+ _x = enum.each do |e|
98
98
  a << e
99
99
  break if a.length >= 3
100
100
  end
@@ -3,9 +3,9 @@ $VERBOSE = true
3
3
 
4
4
  require 'bigdecimal'
5
5
 
6
- $neg = [ -1, -(2**65), -3.14, Rational(-1,2), BigDecimal.new('-1') ]
7
- $pos = [ +1, +(2**65), +3.14, Rational(+1,2), BigDecimal.new('+1') ]
8
- $zer = [ 0, 0.0, BigDecimal.new('0') ]
6
+ $neg = [ -1, -(2**65), -3.14, Rational(-1,2), BigDecimal('-1') ]
7
+ $pos = [ +1, +(2**65), +3.14, Rational(+1,2), BigDecimal('+1') ]
8
+ $zer = [ 0, 0.0, BigDecimal('0') ]
9
9
  $err = [ Complex(1,1) ]
10
10
 
11
11
  require_relative '../lib/mug/negativity'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mug
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Kerwin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-24 00:00:00.000000000 Z
11
+ date: 2018-11-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  == MUG: Matty's Ultimate Gem
@@ -131,39 +131,39 @@ signing_key:
131
131
  specification_version: 4
132
132
  summary: 'MUG: Matty''s Ultimate Gem'
133
133
  test_files:
134
- - test/test-fragile-method-chain.rb
135
- - test/test-maybe.rb
136
- - test/test-hashop.rb
137
- - test/test-not.rb
138
- - test/test-enumerable-chain.rb
139
- - test/test-loop-with.rb
140
- - test/test-counts.rb
141
- - test/test-array-minus.rb
142
- - test/test-iff.rb
143
- - test/test-affix.rb
144
- - test/test-bool.rb
145
- - test/test-alias.rb
134
+ - test/test-enumerable-hash-like.rb
135
+ - test/test-clamp.rb
136
+ - test/test-array-delete_all.rb
146
137
  - test/test-rexproc.rb
147
- - test/test-hashmerge.rb
148
- - test/test-array-samples.rb
149
138
  - test/test-tau.rb
150
- - test/test-apply.rb
151
- - test/test-any-and-all.rb
152
- - test/test-clamp.rb
153
- - test/test-iterator-for.rb
139
+ - test/test-matchdata_each.rb
140
+ - test/test-alias.rb
154
141
  - test/test-bittest.rb
155
- - test/test-hashwhen.rb
156
- - test/test-negativity.rb
157
- - test/test-array-delete_all.rb
158
142
  - test/test-iterator.rb
143
+ - test/test-hashwhen.rb
159
144
  - test/test-matchdata_hash.rb
160
- - test/test-self.rb
161
- - test/test-and-or.rb
162
- - test/test-hashmap.rb
163
- - test/test-enumerable-hash-like.rb
164
- - test/test-time.rb
165
- - test/test-matchdata_each.rb
166
- - test/test-iterator-method.rb
145
+ - test/test-not.rb
167
146
  - test/test-array-extend.rb
147
+ - test/test-iterator-for.rb
168
148
  - test/test-top.rb
149
+ - test/test-and-or.rb
169
150
  - test/test-array-to_proc.rb
151
+ - test/test-affix.rb
152
+ - test/test-hashmerge.rb
153
+ - test/test-any-and-all.rb
154
+ - test/test-self.rb
155
+ - test/test-enumerable-chain.rb
156
+ - test/test-time.rb
157
+ - test/test-counts.rb
158
+ - test/test-negativity.rb
159
+ - test/test-bool.rb
160
+ - test/test-hashmap.rb
161
+ - test/test-loop-with.rb
162
+ - test/test-maybe.rb
163
+ - test/test-iff.rb
164
+ - test/test-array-samples.rb
165
+ - test/test-hashop.rb
166
+ - test/test-iterator-method.rb
167
+ - test/test-apply.rb
168
+ - test/test-array-minus.rb
169
+ - test/test-fragile-method-chain.rb