rubytree 0.9.5pre5 → 0.9.5pre6

Sign up to get free protection for your applications and to get access to all the features.
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
  ========================================================================