summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorFrancis Luong (Franco) <franco@definefunk.com>2017-09-01 15:28:39 -0400
committerGitHub <noreply@github.com>2017-09-01 15:28:39 -0400
commitc50f7ac59d6dfedf22f6c657698924c81c70382b (patch)
tree339608453f1d237bb4308e1414fa33128f1de68b /test
parentdcf7873424cce12326a47cd84e2645585cb6c962 (diff)
parenteb017ad756f4ba8db98d20dbb777baddb6836d01 (diff)
downloadipaddress-c50f7ac59d6dfedf22f6c657698924c81c70382b.tar.gz
Merge pull request #84 from garo/feature/allocate
Add allocate() method
Diffstat (limited to 'test')
-rw-r--r--test/ipaddress/ipv4_test.rb24
-rw-r--r--test/ipaddress/ipv6_test.rb24
2 files changed, 48 insertions, 0 deletions
diff --git a/test/ipaddress/ipv4_test.rb b/test/ipaddress/ipv4_test.rb
index f39d686..19e0450 100644
--- a/test/ipaddress/ipv4_test.rb
+++ b/test/ipaddress/ipv4_test.rb
@@ -627,6 +627,30 @@ class IPv4Test < Minitest::Test
assert_equal "192.168.200.0/24", ip.to_string
end
+ def test_allocate_addresses
+ ip = @klass.new("10.0.0.0/24")
+ ip1 = ip.allocate
+ ip2 = ip.allocate
+ ip3 = ip.allocate
+ assert_equal "10.0.0.1/24", ip1.to_string
+ assert_equal "10.0.0.2/24", ip2.to_string
+ assert_equal "10.0.0.3/24", ip3.to_string
+ end
+
+ def test_allocate_can_skip_addresses
+ ip = @klass.new("10.0.0.0/24")
+ ip1 = ip.allocate(2)
+ assert_equal "10.0.0.3/24", ip1.to_string
+ end
+
+ def test_allocate_will_raise_stopiteration
+ ip = @klass.new("10.0.0.0/30")
+ ip.allocate(3)
+ assert_raises (StopIteration) do
+ ip.allocate
+ end
+ end
+
end # class IPv4Test
diff --git a/test/ipaddress/ipv6_test.rb b/test/ipaddress/ipv6_test.rb
index 120aafb..9d7736d 100644
--- a/test/ipaddress/ipv6_test.rb
+++ b/test/ipaddress/ipv6_test.rb
@@ -282,6 +282,30 @@ class IPv6Test < Minitest::Test
assert_equal expected, arr
end
+ def test_allocate_addresses
+ ip = @klass.new("2001:db8::4/125")
+ ip1 = ip.allocate
+ ip2 = ip.allocate
+ ip3 = ip.allocate
+ assert_equal "2001:db8::1", ip1.compressed
+ assert_equal "2001:db8::2", ip2.compressed
+ assert_equal "2001:db8::3", ip3.compressed
+ end
+
+ def test_allocate_can_skip_addresses
+ ip = @klass.new("2001:db8::4/125")
+ ip1 = ip.allocate(2)
+ assert_equal "2001:db8::3", ip1.compressed
+ end
+
+ def test_allocate_will_raise_stopiteration
+ ip = @klass.new("2001:db8::4/125")
+ ip.allocate(6)
+ assert_raises (StopIteration) do
+ ip.allocate
+ end
+ end
+
def test_method_compare
ip1 = @klass.new("2001:db8:1::1/64")
ip2 = @klass.new("2001:db8:2::1/64")