ipadmin 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/tests/cidr_test.rb CHANGED
@@ -20,10 +20,14 @@ class TestCIDR < Test::Unit::TestCase
20
20
  ip4 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1')
21
21
  ip6 = IPAdmin::IPAddr.new(:IPAddr => 'fec0::1')
22
22
  cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
23
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
23
24
  cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
25
+ cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fec0::/96')
24
26
 
25
27
  assert_equal(1,cidr4.contains(ip4) )
26
28
  assert_equal(1,cidr6.contains(ip6) )
29
+ assert_equal(1,cidr4.contains(cidr4_2) )
30
+ assert_equal(1,cidr6.contains(cidr6_2) )
27
31
 
28
32
  assert_equal('192.168.1.0/24',cidr4.desc() )
29
33
  assert_equal('fec0:0000:0000:0000:0000:0000:0000:0000/64',cidr6.desc() )
@@ -106,27 +106,37 @@ class TestFunct < Test::Unit::TestCase
106
106
  end
107
107
 
108
108
 
109
- def test_compare_cidr
109
+ def test_compare
110
+ ip4_1 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1/24')
111
+ ip4_2 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.2/24')
112
+
110
113
  cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
111
114
  cidr4_2 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/25')
112
115
  cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.2.0/24')
113
116
  cidr4_4 = IPAdmin::CIDR.new(:CIDR => '192.168.2.64/26')
114
117
  cidr4_5 = IPAdmin::CIDR.new(:CIDR => '192.168.1.128/25')
115
118
 
119
+ ip6_1 = IPAdmin::IPAddr.new(:IPAddr => 'fec0::1/64')
120
+ ip6_2 = IPAdmin::IPAddr.new(:IPAddr => 'fec0::2/64')
121
+
116
122
  cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::0/10')
117
123
  cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fec0::0/64')
118
124
  cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fe80::0/10')
119
125
  cidr6_4 = IPAdmin::CIDR.new(:CIDR => 'fe80::0/11')
120
126
 
121
- comp1 = IPAdmin.compare_cidr(cidr4_1,cidr4_2)
122
- comp2 = IPAdmin.compare_cidr(cidr4_4,cidr4_3)
123
- comp3 = IPAdmin.compare_cidr(cidr4_1,cidr4_1)
124
- comp4 = IPAdmin.compare_cidr(cidr4_1,cidr4_3)
125
- comp5 = IPAdmin.compare_cidr(cidr6_1,cidr6_2)
126
- comp6 = IPAdmin.compare_cidr(cidr6_4,cidr6_3)
127
- comp7 = IPAdmin.compare_cidr(cidr6_1,cidr6_1)
128
- comp8 = IPAdmin.compare_cidr(cidr6_1,cidr6_3)
129
- comp9 = IPAdmin.compare_cidr(cidr4_2,cidr4_5)
127
+ comp1 = IPAdmin.compare(cidr4_1,cidr4_2)
128
+ comp2 = IPAdmin.compare(cidr4_4,cidr4_3)
129
+ comp3 = IPAdmin.compare(cidr4_1,cidr4_1)
130
+ comp4 = IPAdmin.compare(cidr4_1,cidr4_3)
131
+ comp5 = IPAdmin.compare(cidr6_1,cidr6_2)
132
+ comp6 = IPAdmin.compare(cidr6_4,cidr6_3)
133
+ comp7 = IPAdmin.compare(cidr6_1,cidr6_1)
134
+ comp8 = IPAdmin.compare(cidr6_1,cidr6_3)
135
+ comp9 = IPAdmin.compare(cidr4_2,cidr4_5)
136
+ comp10 = IPAdmin.compare(ip4_1,ip4_2)
137
+ comp11 = IPAdmin.compare(ip6_1,ip6_2)
138
+ comp12 = IPAdmin.compare(cidr4_1,ip4_2)
139
+ comp13 = IPAdmin.compare(cidr6_1,ip6_2)
130
140
 
131
141
  assert_equal([cidr4_1,cidr4_2],comp1)
132
142
  assert_equal([cidr4_3,cidr4_4],comp2)
@@ -137,24 +147,13 @@ class TestFunct < Test::Unit::TestCase
137
147
  assert_equal(1,comp7)
138
148
  assert_nil(comp8)
139
149
  assert_nil(comp9)
150
+ assert_nil(comp10)
151
+ assert_nil(comp11)
152
+ assert_equal([cidr4_1,ip4_2],comp12)
153
+ assert_equal([cidr6_1,ip6_2],comp13)
140
154
  end
141
155
 
142
156
 
143
- def test_merge_cidr
144
- cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
145
- cidr4_2 = IPAdmin::CIDR.new(:CIDR => '192.168.0.0/24')
146
- cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.2.0/24')
147
-
148
- cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::0/128')
149
- cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fec0::1/128')
150
- cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fe80::0/10')
151
-
152
- assert_equal('192.168.0.0/23', IPAdmin.merge_cidr([cidr4_1,cidr4_2]).desc)
153
- assert_equal('fec0:0000:0000:0000:0000:0000:0000:0000/127', IPAdmin.merge_cidr([cidr6_1,cidr6_2]).desc)
154
- assert_raise(RuntimeError){ IPAdmin.merge_cidr([cidr4_1,cidr4_3]) }
155
- assert_raise(RuntimeError){ IPAdmin.merge_cidr([cidr6_1,cidr6_3]) }
156
- end
157
-
158
157
  def test_range
159
158
  ip4_1 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.0')
160
159
  ip4_2 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.50')
@@ -173,22 +172,22 @@ class TestFunct < Test::Unit::TestCase
173
172
  assert_raise(RuntimeError){ IPAdmin.range(:Boundaries => [1,2]) }
174
173
  end
175
174
 
176
- def test_make_arpa
175
+ def test_arpa
177
176
  ip4 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.0/24')
178
177
  cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
179
178
  cidr6 = IPAdmin::CIDR.new(:CIDR => 'fe80::0/64')
180
- assert_equal('0.1.168.192.in-addr.arpa.', IPAdmin.make_arpa(ip4) )
181
- assert_equal('1.168.192.in-addr.arpa.', IPAdmin.make_arpa(cidr4) )
182
- assert_equal('0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa.', IPAdmin.make_arpa(cidr6) )
183
- assert_raise(ArgumentError){ IPAdmin.make_arpa('192.168.1.0/24') }
179
+
180
+ assert_equal('0.1.168.192.in-addr.arpa.', IPAdmin.arpa(ip4) )
181
+ assert_equal('1.168.192.in-addr.arpa.', IPAdmin.arpa(cidr4) )
182
+ assert_equal('0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa.', IPAdmin.arpa(cidr6) )
183
+
184
+ assert_raise(ArgumentError){ IPAdmin.arpa('192.168.1.0/24') }
185
+ assert_raise(ArgumentError){ IPAdmin.arpa('fec0::') }
184
186
  end
185
187
 
186
- def test_v6_short
187
- assert_equal('fec0::', IPAdmin.v6_short('fec0:0000:0000:0000:0000:0000:0000:0000') )
188
- assert_equal('fec0::2:0:0:1', IPAdmin.v6_short('fec0:0000:0000:0000:0002:0000:0000:0001') )
189
-
190
- assert_raise(ArgumentError){ IPAdmin.make_arpa('fec0::') }
191
- assert_raise(ArgumentError){ IPAdmin.make_arpa('192.168.1.1') }
188
+ def test_shorten
189
+ assert_equal('fec0::', IPAdmin.shorten('fec0:0000:0000:0000:0000:0000:0000:0000') )
190
+ assert_equal('fec0::2:0:0:1', IPAdmin.shorten('fec0:0000:0000:0000:0002:0000:0000:0001') )
192
191
  end
193
192
 
194
193
 
@@ -0,0 +1,315 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require '../lib/ip_admin.rb'
4
+ require 'test/unit'
5
+
6
+
7
+
8
+ class TestTree < Test::Unit::TestCase
9
+
10
+ def test_new
11
+ assert_not_nil(IPAdmin::Tree.new(:Version => 4) )
12
+ assert_not_nil(IPAdmin::Tree.new(:Version => 6) )
13
+
14
+ end
15
+
16
+ def test_add
17
+ cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
18
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
19
+ cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
20
+ cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
21
+
22
+ cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::/10')
23
+ cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fe80::/10')
24
+ cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
25
+ cidr6_4 =IPAdmin::CIDR.new(:CIDR => 'fec0::/126')
26
+
27
+ tree4 = IPAdmin::Tree.new(:Version => 4)
28
+ tree6 = IPAdmin::Tree.new(:Version => 6)
29
+
30
+ assert_raise(RuntimeError){tree4.add(cidr6_1)}
31
+ assert_raise(RuntimeError){tree6.add(cidr4_1)}
32
+
33
+ assert_nothing_raised(RuntimeError){tree4.add(cidr4_1)}
34
+ assert_nothing_raised(RuntimeError){tree4.add(cidr4_2)}
35
+ assert_nothing_raised(RuntimeError){tree4.add(cidr4_3)}
36
+ assert_nothing_raised(RuntimeError){tree4.add(cidr4_4)}
37
+ assert_raise(RuntimeError){tree4.add(cidr4_1)}
38
+
39
+ assert_nothing_raised(RuntimeError){tree6.add(cidr6_1)}
40
+ assert_nothing_raised(RuntimeError){tree6.add(cidr6_2)}
41
+ assert_nothing_raised(RuntimeError){tree6.add(cidr6_3)}
42
+ assert_nothing_raised(RuntimeError){tree6.add(cidr6_4)}
43
+ assert_raise(RuntimeError){tree6.add(cidr6_1)}
44
+
45
+ end
46
+
47
+ def test_collapse
48
+ cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
49
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
50
+ cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.64/26')
51
+ cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.128/26')
52
+ cidr4_5 = IPAdmin::CIDR.new(:CIDR => '192.168.1.192/26')
53
+ cidr4_6 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/27')
54
+ cidr4_7 = IPAdmin::CIDR.new(:CIDR => '192.168.1.32/27')
55
+
56
+ cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
57
+ cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fec0::/66')
58
+ cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fec0::4000:0:0:0/66')
59
+ cidr6_4 = IPAdmin::CIDR.new(:CIDR => 'fec0::8000:0:0:0/66')
60
+ cidr6_5 = IPAdmin::CIDR.new(:CIDR => 'fec0::c000:0:0:0/66')
61
+ cidr6_6 = IPAdmin::CIDR.new(:CIDR => 'fec0::/67')
62
+ cidr6_7 = IPAdmin::CIDR.new(:CIDR => 'fec0::2000:0:0:0/67')
63
+
64
+
65
+ tree4 = IPAdmin::Tree.new(:Version => 4)
66
+ tree6 = IPAdmin::Tree.new(:Version => 6)
67
+
68
+ tree4.add(cidr4_1)
69
+ tree4.add(cidr4_2)
70
+ tree4.add(cidr4_3)
71
+ tree4.add(cidr4_4)
72
+ tree4.add(cidr4_5)
73
+ tree4.add(cidr4_6)
74
+ tree4.add(cidr4_7)
75
+
76
+ tree6.add(cidr6_1)
77
+ tree6.add(cidr6_2)
78
+ tree6.add(cidr6_3)
79
+ tree6.add(cidr6_4)
80
+ tree6.add(cidr6_5)
81
+ tree6.add(cidr6_6)
82
+ tree6.add(cidr6_7)
83
+
84
+ new_tree4 = tree4.collapse()
85
+ assert_equal(1, (new_tree4.dump.length))
86
+
87
+ new_tree6 = tree6.collapse()
88
+ assert_equal(1, (new_tree6.dump.length))
89
+
90
+ end
91
+
92
+ def test_dump
93
+ ip4_1 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1')
94
+ ip4_2 = IPAdmin::IPAddr.new(:IPAddr => '10.1.0.1')
95
+ ip4_3 = IPAdmin::IPAddr.new(:IPAddr => '10.2.0.1')
96
+ cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
97
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
98
+ cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
99
+ cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
100
+
101
+ ip6_1 = IPAdmin::IPAddr.new(:IPAddr => 'fec0::1')
102
+ ip6_2 = IPAdmin::IPAddr.new(:IPAddr => 'fe80::1')
103
+ cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::/10')
104
+ cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fe80::/10')
105
+ cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
106
+ cidr6_4 =IPAdmin::CIDR.new(:CIDR => 'fec0::/126')
107
+
108
+ tree4 = IPAdmin::Tree.new(:Version => 4)
109
+ tree6 = IPAdmin::Tree.new(:Version => 6)
110
+
111
+ tree4.add(cidr4_1)
112
+ tree4.add(cidr4_2)
113
+ tree4.add(cidr4_3)
114
+ tree4.add(cidr4_4)
115
+ tree6.add(cidr6_1)
116
+ tree6.add(cidr6_2)
117
+ tree6.add(cidr6_3)
118
+ tree6.add(cidr6_4)
119
+
120
+ dump4 = tree4.dump()
121
+ dump6 = tree6.dump()
122
+
123
+ obj0 = dump4[0][:Object]
124
+ obj1 = dump4[1][:Object]
125
+ obj3 = dump4[3][:Object]
126
+ assert_equal('10.1.0.0/24', obj0.desc)
127
+ assert_equal('192.168.1.0/24', obj1.desc)
128
+ assert_equal('192.168.1.0/30', obj3.desc)
129
+
130
+ obj0 = dump6[0][:Object]
131
+ obj1 = dump6[1][:Object]
132
+ obj3 = dump6[3][:Object]
133
+ assert_equal('fe80:0000:0000:0000:0000:0000:0000:0000/10', obj0.desc)
134
+ assert_equal('fec0:0000:0000:0000:0000:0000:0000:0000/10', obj1.desc)
135
+ assert_equal('fec0:0000:0000:0000:0000:0000:0000:0000/126', obj3.desc)
136
+
137
+ end
138
+
139
+ def test_find
140
+ ip4_1 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1')
141
+ ip4_2 = IPAdmin::IPAddr.new(:IPAddr => '10.1.0.1')
142
+ ip4_3 = IPAdmin::IPAddr.new(:IPAddr => '10.2.0.1')
143
+ cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
144
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
145
+ cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
146
+ cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
147
+
148
+ ip6_1 = IPAdmin::IPAddr.new(:IPAddr => 'fec0::1')
149
+ ip6_2 = IPAdmin::IPAddr.new(:IPAddr => 'fe80::1')
150
+ cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::/10')
151
+ cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fe80::/10')
152
+ cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
153
+ cidr6_4 =IPAdmin::CIDR.new(:CIDR => 'fec0::/126')
154
+
155
+ tree4 = IPAdmin::Tree.new(:Version => 4)
156
+ tree6 = IPAdmin::Tree.new(:Version => 6)
157
+
158
+ tree4.add(cidr4_1)
159
+ tree4.add(cidr4_2)
160
+ tree4.add(cidr4_3)
161
+ tree4.add(cidr4_4)
162
+ tree6.add(cidr6_1)
163
+ tree6.add(cidr6_2)
164
+ tree6.add(cidr6_3)
165
+ tree6.add(cidr6_4)
166
+
167
+ assert_equal('192.168.1.0/30', tree4.find(ip4_1).desc)
168
+ assert_equal('10.1.0.0/24', tree4.find(ip4_2).desc)
169
+ assert_equal(nil, tree4.find(ip4_3) )
170
+ assert_equal('fec0:0000:0000:0000:0000:0000:0000:0000/126', tree6.find(ip6_1).desc)
171
+ assert_equal('fe80:0000:0000:0000:0000:0000:0000:0000/10', tree6.find(ip6_2).desc)
172
+
173
+ end
174
+
175
+
176
+ def test_find_space
177
+ cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
178
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
179
+ cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
180
+ cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
181
+ cidr4_5 =IPAdmin::CIDR.new(:CIDR => '192.168.1.64/26')
182
+ cidr4_6 =IPAdmin::CIDR.new(:CIDR => '192.168.1.128/26')
183
+ cidr4_7 =IPAdmin::CIDR.new(:CIDR => '192.168.1.224/27')
184
+ cidr4_8 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/25')
185
+
186
+
187
+ cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::/10')
188
+ cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fe80::/10')
189
+ cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
190
+ cidr6_4 =IPAdmin::CIDR.new(:CIDR => 'fec0::/126')
191
+ cidr6_5 = IPAdmin::CIDR.new(:CIDR => 'fec0::/96')
192
+ cidr6_6 = IPAdmin::CIDR.new(:CIDR => 'fec0:2000::/64')
193
+ cidr6_7 = IPAdmin::CIDR.new(:CIDR => 'fec0:3000::/96')
194
+
195
+
196
+ tree4 = IPAdmin::Tree.new(:Version => 4)
197
+ tree6 = IPAdmin::Tree.new(:Version => 6)
198
+
199
+ tree4.add(cidr4_1)
200
+ tree4.add(cidr4_2)
201
+ tree4.add(cidr4_3)
202
+ tree4.add(cidr4_4)
203
+ tree4.add(cidr4_5)
204
+ tree4.add(cidr4_6)
205
+ tree4.add(cidr4_7)
206
+ tree4.add(cidr4_8)
207
+
208
+ tree6.add(cidr6_1)
209
+ tree6.add(cidr6_2)
210
+ tree6.add(cidr6_3)
211
+ tree6.add(cidr6_4)
212
+ tree6.add(cidr6_5)
213
+ tree6.add(cidr6_6)
214
+ tree6.add(cidr6_7)
215
+
216
+
217
+ list4 = tree4.find_space(:Size => 27, :Limit => 2)
218
+
219
+ assert_equal('10.1.0.0/25', list4[0].desc)
220
+ assert_equal('192.168.1.64/26', list4[1].desc)
221
+
222
+ list6 = tree6.find_space(:Size => 98)
223
+ assert_equal('fe80:0000:0000:0000:0000:0000:0000:0000/10', list6[0].desc)
224
+ assert_equal('fec0:2000:0000:0000:0000:0000:0000:0000/64', list6[1].desc)
225
+ assert_equal('fec0:3000:0000:0000:0000:0000:0000:0000/96', list6[2].desc)
226
+
227
+ end
228
+
229
+ def test_prune
230
+ cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
231
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
232
+ cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
233
+ cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
234
+ cidr4_5 = IPAdmin::CIDR.new(:CIDR => '192.168.1.64/26')
235
+ cidr4_6 = IPAdmin::CIDR.new(:CIDR => '192.168.1.128/26')
236
+ cidr4_7 = IPAdmin::CIDR.new(:CIDR => '192.168.1.192/26')
237
+
238
+ tree4 = IPAdmin::Tree.new(:Version => 4)
239
+
240
+ tree4.add(cidr4_1)
241
+ tree4.add(cidr4_2)
242
+ tree4.add(cidr4_3)
243
+ tree4.add(cidr4_4)
244
+ tree4.add(cidr4_5)
245
+ tree4.add(cidr4_6)
246
+ tree4.add(cidr4_7)
247
+
248
+ tree4.prune(cidr4_5)
249
+ dump = tree4.dump
250
+ assert_equal(6, dump.length)
251
+
252
+ tree4.prune(cidr4_1)
253
+ dump = tree4.dump
254
+ assert_equal(1, dump.length)
255
+ end
256
+
257
+ def test_remove
258
+ cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
259
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
260
+ cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
261
+ cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
262
+ cidr4_5 = IPAdmin::CIDR.new(:CIDR => '192.168.1.64/26')
263
+ cidr4_6 = IPAdmin::CIDR.new(:CIDR => '192.168.1.128/26')
264
+ cidr4_7 = IPAdmin::CIDR.new(:CIDR => '192.168.1.192/26')
265
+
266
+ tree4 = IPAdmin::Tree.new(:Version => 4)
267
+
268
+ tree4.add(cidr4_1)
269
+ tree4.add(cidr4_2)
270
+ tree4.add(cidr4_3)
271
+ tree4.add(cidr4_4)
272
+ tree4.add(cidr4_5)
273
+ tree4.add(cidr4_6)
274
+ tree4.add(cidr4_7)
275
+
276
+ tree4.remove(cidr4_5)
277
+ dump = tree4.dump
278
+ assert_equal(6, dump.length)
279
+
280
+ tree4.remove(cidr4_1)
281
+ dump = tree4.dump
282
+ assert_equal(5, dump.length)
283
+ end
284
+
285
+ def test_show
286
+ cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
287
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
288
+ cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
289
+ cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
290
+ cidr4_5 = IPAdmin::CIDR.new(:CIDR => '192.168.1.64/26')
291
+ cidr4_6 = IPAdmin::CIDR.new(:CIDR => '192.168.1.128/26')
292
+ cidr4_7 = IPAdmin::CIDR.new(:CIDR => '192.168.1.192/26')
293
+
294
+ tree4 = IPAdmin::Tree.new(:Version => 4)
295
+
296
+ tree4.add(cidr4_1)
297
+ tree4.add(cidr4_2)
298
+ tree4.add(cidr4_3)
299
+ tree4.add(cidr4_4)
300
+ tree4.add(cidr4_5)
301
+ tree4.add(cidr4_6)
302
+ tree4.add(cidr4_7)
303
+
304
+ assert_not_nil(tree4.show())
305
+ end
306
+
307
+
308
+
309
+
310
+
311
+ end
312
+
313
+
314
+
315
+
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: ipadmin
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.2
7
- date: 2006-02-01 00:00:00 -06:00
6
+ version: 0.1.3
7
+ date: 2006-02-10 00:00:00 -06:00
8
8
  summary: A package for manipulating IPv4/IPv6 address space.
9
9
  require_paths:
10
10
  - lib
@@ -35,8 +35,7 @@ test_files:
35
35
  - tests/ipaddr_test.rb
36
36
  - tests/functions_test.rb
37
37
  - tests/cidr_test.rb
38
- - tests/cidr_table_test.rb
39
- - tests/dns_test.rb
38
+ - tests/tree_test.rb
40
39
  rdoc_options: []
41
40
  extra_rdoc_files:
42
41
  - README