rubytree 0.9.5pre5 → 0.9.5pre6

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
  SHA1:
3
- metadata.gz: 850e06171da2b8d2ce18e1c2a753940720fa995f
4
- data.tar.gz: d135be3794997cded9a37f969270e007878371b3
3
+ metadata.gz: beae3fd153b5ddbad1ab19265ca8bf64a7776ada
4
+ data.tar.gz: 145cc70d51f4355f623d2abe35eb31eefe745fb4
5
5
  SHA512:
6
- metadata.gz: c4a868546b8c5e32d216ac7ea5614bff5edd440ce6ef9927b210962f1aa5690afe8b36e797d0a077db4a955b6e42485b0dd3a8da45e52fbbbba9fc1bb4e7c271
7
- data.tar.gz: d4f1e908972b00e23a7d93722e7cd32c7b40750bbfc8604cd527764dc8fb84d0e7cff42aa29e25041ca49b39cc738a4fdfcb907f487d79a575efd4415e8cf9a7
6
+ metadata.gz: dca4bb879aeff95228214b79177426da728bec7eff50273035397d67acd22329d8ba157ff4d5507584c1cac8a2ae1c4980d86051f50a42f386dae6a130700ed6
7
+ data.tar.gz: 81e2f5def082d451130d464d40930e48e4e4633c287216a98c870a216527de4d47876f9e3862409e90f15008fd7441b052858aadeb0de5be2effe5bb2c4bddd6
data/Gemfile CHANGED
@@ -4,7 +4,8 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development, :test do
7
- gem "rake", "~> 10.1"
7
+ gem "rake", "~> 10.4"
8
+ gem "test-unit", "~> 3.0"
8
9
  gem "coveralls", ">= 0.7", :require => false, :platforms => :mri_21
9
10
  end
10
11
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rubytree (0.9.5pre5)
4
+ rubytree (0.9.5pre6)
5
5
  json (~> 1.8)
6
6
  structured_warnings (~> 0.1)
7
7
 
@@ -18,9 +18,9 @@ GEM
18
18
  json (1.8.1)
19
19
  mime-types (2.4.3)
20
20
  multi_json (1.10.1)
21
+ power_assert (0.2.2)
21
22
  rake (10.4.2)
22
23
  rdoc (4.2.0)
23
- json (~> 1.4)
24
24
  rest-client (1.6.7)
25
25
  mime-types (>= 1.16)
26
26
  rtags (0.97)
@@ -34,6 +34,8 @@ GEM
34
34
  structured_warnings (0.1.4)
35
35
  term-ansicolor (1.2.2)
36
36
  tins (~> 0.8)
37
+ test-unit (3.0.9)
38
+ power_assert
37
39
  thor (0.18.1)
38
40
  tins (0.13.2)
39
41
  yard (0.8.7.6)
@@ -42,10 +44,11 @@ PLATFORMS
42
44
  ruby
43
45
 
44
46
  DEPENDENCIES
45
- bundler (~> 1.5)
47
+ bundler (~> 1.7)
46
48
  coveralls (>= 0.7)
47
- rake (~> 10.1)
48
- rdoc (~> 4.1)
49
+ rake (~> 10.4)
50
+ rdoc (~> 4.2)
49
51
  rtagstask (~> 0.0)
50
52
  rubytree!
53
+ test-unit (~> 3.0)
51
54
  yard (~> 0.8)
data/History.rdoc CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  === 0.9.5pre5 / 2015-01-01
6
6
 
7
- * Fixed {issue 32}{https://github.com/evolve75/RubyTree/issues/32} and enabled
7
+ * Fixed {issue 32}[https://github.com/evolve75/RubyTree/issues/32] and enabled
8
8
  'move' semantics on the {Tree::TreeNode#add} method, so that a child being
9
9
  added, that has an existing parent, will be removed from its old parent, prior
10
10
  to being added to the new location.
@@ -12,7 +12,7 @@
12
12
  === 0.9.5pre4 / 2014-12-17
13
13
 
14
14
  * Added performance improvements to {Tree::TreeNode#is_root?} and
15
- {Tree::TreeNode#node_depth}. Thanks to {https://github.com/aidansteele Aidan Steel}.
15
+ {Tree::Utils::TreeMetricsHandler#node_depth}. Thanks to {https://github.com/aidansteele Aidan Steel}.
16
16
 
17
17
  === 0.9.5pre3 / 2014-12-16
18
18
 
@@ -5,9 +5,9 @@
5
5
  #
6
6
  # Author:: Jen Hamon (http://www.github.com/jhamon)
7
7
  #
8
- # Time-stamp: <2014-10-25 16:20:23 anupam>
8
+ # Time-stamp: <2015-01-02 15:11:03 anupam>
9
9
  #
10
- # Copyright (C) 2014 Jen Hamon (http://www.github.com/jhamon) and
10
+ # Copyright (C) 2014, 2015 Jen Hamon (http://www.github.com/jhamon) and
11
11
  # Anupam Sengupta <anupamsg@gmail.com>
12
12
  #
13
13
  # All rights reserved.
data/lib/tree/version.rb CHANGED
@@ -37,5 +37,5 @@
37
37
  #
38
38
  module Tree
39
39
  # Rubytree Package Version
40
- VERSION = '0.9.5pre5'
40
+ VERSION = '0.9.5pre6'
41
41
  end
@@ -3,7 +3,7 @@
3
3
  # test_binarytree.rb - This file is part of the RubyTree package.
4
4
  #
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2012, 2013 Anupam Sengupta
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2015 Anupam Sengupta
7
7
  #
8
8
  # All rights reserved.
9
9
  #
@@ -64,7 +64,7 @@ module TestTree
64
64
  end
65
65
 
66
66
  def test_from_hash
67
- # Can make a root note without a name
67
+ # Can't make a root node without a name
68
68
  assert_raise (ArgumentError) { Tree::BinaryTreeNode.from_hash({})}
69
69
  # Can't have multiple roots
70
70
  assert_raise (ArgumentError) { Tree::BinaryTreeNode.from_hash({:A => {}, :B => {}}) }
@@ -82,20 +82,18 @@ module TestTree
82
82
  # D
83
83
 
84
84
  assert_same(tree.class, Tree::BinaryTreeNode)
85
- assert_same(tree.name, :A)
86
- assert_equal(tree.is_root?, true)
87
- assert_equal(tree.is_leaf?, false)
88
- assert_equal(tree.children.count, 2) # B, C, D
89
- assert_equal(tree.size, 4)
90
- assert_equal(tree.left_child.name, :B)
91
- assert_equal(tree.right_child.name, :C)
85
+ assert_same(:A, tree.name)
86
+ assert_equal(true, tree.is_root?)
87
+ assert_equal(false, tree.is_leaf?)
88
+ assert_equal(2, tree.children.count) # B, C, D
89
+ assert_equal(4, tree.size)
92
90
 
93
91
  valid_hash_with_content = {[:A, "Content!"] => {:B => {}, :C => { [:D, "More content"] => {} } } }
94
92
  tree2 = Tree::BinaryTreeNode.from_hash(valid_hash_with_content)
95
93
 
96
- assert_equal(tree2.class, Tree::BinaryTreeNode)
97
- assert_equal(tree2.content, "Content!" )
98
- assert_equal(tree2[:C][:D].content, "More content")
94
+ assert_equal(Tree::BinaryTreeNode, tree2.class)
95
+ assert_equal("Content!" , tree2.content)
96
+ assert_equal("More content", tree2[:C][:D].content)
99
97
  end
100
98
 
101
99
  def test_add_from_hash
@@ -104,11 +102,11 @@ module TestTree
104
102
  # Can't have too many children
105
103
  too_many_kids = {:child1 => {}, :child2 => {}, :child3 => {}}
106
104
  assert_raise(ArgumentError) { root.add_from_hash(too_many_kids) }
107
- assert_equal(root.children.count, 0) # Nothing added
105
+ assert_equal(0, root.children.count) # Nothing added
108
106
 
109
107
  # Well behaved when adding nothing
110
- assert_equal(root.add_from_hash({}), [])
111
- assert_equal(root.size, 1)
108
+ assert_equal([], root.add_from_hash({}))
109
+ assert_equal(1, root.size)
112
110
 
113
111
  valid_hash = {:A => {}, :B => { :C => {}, [:D, "leaf"] => {} } }
114
112
  added = root.add_from_hash(valid_hash)
@@ -118,11 +116,11 @@ module TestTree
118
116
  # / \
119
117
  # C D
120
118
 
121
- assert_equal(added.class, Array)
122
- assert_equal(added.count, 2)
123
- assert_equal(root.size, 5)
119
+ assert_equal(Array, added.class)
120
+ assert_equal(2, added.count)
121
+ assert_equal(5, root.size)
124
122
  assert_equal(root.children.count, 2)
125
- assert_equal(root[:B][:D].content, "leaf")
123
+ assert_equal("leaf", root[:B][:D].content)
126
124
 
127
125
  # Can't add more than two children
128
126
  assert_raise(ArgumentError) { root.add_from_hash({:X => {}}) }
@@ -186,7 +184,7 @@ module TestTree
186
184
  result_array = []
187
185
  result = f.inordered_each { |node| result_array << node.detached_copy}
188
186
 
189
- assert_equal(result, f) # each should return the original object
187
+ assert_equal(f, result) # each should return the original object
190
188
 
191
189
  expected_array.each_index do |i|
192
190
  # Match only the names.
data/test/test_tree.rb CHANGED
@@ -146,24 +146,24 @@ module TestTree
146
146
 
147
147
  tree = Tree::TreeNode.from_hash(hash)
148
148
 
149
- assert_same(tree.class, Tree::TreeNode)
149
+ assert_same(Tree::TreeNode, tree.class)
150
150
  assert_same(tree.name, :A)
151
- assert_equal(tree.is_root?, true)
152
- assert_equal(tree.is_leaf?, false)
153
- assert_equal(tree.size, 9)
154
- assert_equal(tree.content, "Root content")
155
- assert_equal(tree.children.count, 3) # B, C, D
151
+ assert_equal(true, tree.is_root?)
152
+ assert_equal(false, tree.is_leaf?)
153
+ assert_equal(9, tree.size)
154
+ assert_equal("Root content", tree.content)
155
+ assert_equal(3, tree.children.count) # B, C, D
156
156
 
157
157
  leaf_with_content = tree[:B][:F][:I]
158
- assert_equal(leaf_with_content.content, "Leaf content")
159
- assert_equal(leaf_with_content.is_leaf?, true)
158
+ assert_equal("Leaf content", leaf_with_content.content)
159
+ assert_equal(true, leaf_with_content.is_leaf?)
160
160
 
161
161
  leaf_without_content = tree[:C]
162
- assert_equal(leaf_without_content.is_leaf?, true)
162
+ assert_equal(true, leaf_without_content.is_leaf?)
163
163
 
164
164
  interior_node = tree[:B][:F]
165
- assert_equal(interior_node.is_leaf?, false)
166
- assert_equal(interior_node.children.count, 2)
165
+ assert_equal(false, interior_node.is_leaf?)
166
+ assert_equal(2, interior_node.children.count)
167
167
 
168
168
  # Can't make a node without a name
169
169
  assert_raise (ArgumentError) { Tree::TreeNode.from_hash({}) }
@@ -198,24 +198,24 @@ module TestTree
198
198
 
199
199
  tree = Tree::TreeNode.from_hash(hash)
200
200
 
201
- assert_same(tree.class, Tree::TreeNode)
202
- assert_same(tree.name, :A)
203
- assert_equal(tree.is_root?, true)
204
- assert_equal(tree.is_leaf?, false)
205
- assert_equal(tree.size, 9)
206
- assert_equal(tree.content, "Root content")
207
- assert_equal(tree.children.count, 3) # B, C, D
201
+ assert_same(Tree::TreeNode, tree.class)
202
+ assert_same(:A, tree.name)
203
+ assert_equal(true, tree.is_root?)
204
+ assert_equal(false, tree.is_leaf?)
205
+ assert_equal(9, tree.size)
206
+ assert_equal("Root content", tree.content)
207
+ assert_equal(3, tree.children.count) # B, C, D
208
208
 
209
209
  leaf_with_content = tree[:B][:F][:I]
210
- assert_equal(leaf_with_content.content, "Leaf content")
211
- assert_equal(leaf_with_content.is_leaf?, true)
210
+ assert_equal("Leaf content", leaf_with_content.content)
211
+ assert_equal(true, leaf_with_content.is_leaf?)
212
212
 
213
213
  leaf_without_content = tree[:C]
214
- assert_equal(leaf_without_content.is_leaf?, true)
214
+ assert_equal(true, leaf_without_content.is_leaf?)
215
215
 
216
216
  interior_node = tree[:B][:F]
217
- assert_equal(interior_node.is_leaf?, false)
218
- assert_equal(interior_node.children.count, 2)
217
+ assert_equal(false, interior_node.is_leaf?)
218
+ assert_equal(2, interior_node.children.count)
219
219
  end
220
220
 
221
221
  def test_add_from_hash
@@ -223,7 +223,7 @@ module TestTree
223
223
 
224
224
  # Doesn't blow up when added an empty hash
225
225
  hash = {}
226
- assert_equal(tree.add_from_hash(hash), [])
226
+ assert_equal([], tree.add_from_hash(hash))
227
227
 
228
228
  # Okay, now try a real hash
229
229
  hash = {:B => {:C => {:D => nil}, :E => {}, :F => {}}, [:G, "G content"] => {}}
@@ -236,13 +236,13 @@ module TestTree
236
236
  # D
237
237
 
238
238
  added_children = tree.add_from_hash(hash)
239
- assert_equal(added_children.class, Array)
240
- assert_equal(added_children.count, 2)
241
- assert_equal(tree.size, 7)
242
- assert_equal(tree[:G].content, "G content")
243
- assert_equal(tree[:G].is_leaf?, true)
244
- assert_equal(tree[:B].size, 5)
245
- assert_equal(tree[:B].children.count, 3)
239
+ assert_equal(Array, added_children.class)
240
+ assert_equal(2, added_children.count)
241
+ assert_equal(7, tree.size)
242
+ assert_equal("G content", tree[:G].content)
243
+ assert_equal(true, tree[:G].is_leaf?)
244
+ assert_equal(5, tree[:B].size)
245
+ assert_equal(3, tree[:B].children.count)
246
246
 
247
247
  assert_raise (ArgumentError) { tree.add_from_hash([]) }
248
248
  assert_raise (ArgumentError) { tree.add_from_hash("not a hash") }
@@ -272,7 +272,7 @@ module TestTree
272
272
 
273
273
  exported = a.to_h
274
274
  expected = {:A => {:B => {:E => {}}, :C => {:F => {}, :G => {}}}}
275
- assert_equal(exported, expected)
275
+ assert_equal(expected, exported)
276
276
  end
277
277
 
278
278
  # Test that from_hash and to_h are symmetric
@@ -288,7 +288,7 @@ module TestTree
288
288
  input = {:A => {:B => {:E => {:I => {}, :J =>{}}, :F => {}, :G => {}}, :C =>{:H => {:K => {}}}}}
289
289
 
290
290
  node = Tree::TreeNode.from_hash(input)
291
- assert_equal(node.to_h, input)
291
+ assert_equal(input, node.to_h)
292
292
  end
293
293
 
294
294
  # Test the presence of content in the nodes.
@@ -316,20 +316,20 @@ module TestTree
316
316
  first_node = Tree::TreeNode.new(1)
317
317
  second_node = Tree::TreeNode.new(2)
318
318
 
319
- assert_equal(first_node <=> nil, +1)
320
- assert_equal(first_node <=> second_node, -1)
319
+ assert_equal(+1, first_node <=> nil)
320
+ assert_equal(-1, first_node <=> second_node)
321
321
 
322
322
  second_node = Tree::TreeNode.new(1)
323
- assert_equal(first_node <=> second_node, 0)
323
+ assert_equal(0, first_node <=> second_node)
324
324
 
325
325
  first_node = Tree::TreeNode.new("ABC")
326
326
  second_node = Tree::TreeNode.new("XYZ")
327
327
 
328
- assert_equal(first_node <=> nil, +1)
329
- assert_equal(first_node <=> second_node, -1)
328
+ assert_equal(+1, first_node <=> nil)
329
+ assert_equal(-1, first_node <=> second_node)
330
330
 
331
331
  second_node = Tree::TreeNode.new("ABC")
332
- assert_equal(first_node <=> second_node, 0)
332
+ assert_equal(0, first_node <=> second_node)
333
333
 
334
334
  StandardWarning.enable
335
335
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubytree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5pre5
4
+ version: 0.9.5pre6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anupam Sengupta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-17 00:00:00.000000000 Z
11
+ date: 2015-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: structured_warnings
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.5'
47
+ version: '1.7'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.5'
54
+ version: '1.7'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rdoc
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '4.1'
61
+ version: '4.2'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '4.1'
68
+ version: '4.2'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: yard
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -164,7 +164,7 @@ post_install_message: |2
164
164
  ========================================================================
165
165
  Thank you for installing RubyTree.
166
166
 
167
- Note:: As of 0.9.3, node names do not need to be globally unique.
167
+ Note:: As of 0.9.5, the Tree::TreeNode#add method has 'move' semantics.
168
168
 
169
169
  Details of the API changes are documented in the API-CHANGES file.
170
170
  ========================================================================