require 'ipconverter' require 'minitest/autorun' class TestIpConverter < MiniTest::Test def setup end def test_smallest_ip int = IpConverter.str_to_int "0.0.0.0" assert_equal int, 0 end def test_largest_ip int = IpConverter.str_to_int "255.255.255.255" # maximum 32-bit integer assert_equal int, 256 * 256 * 256 * 256 - 1 end def test_handles_spaces int = IpConverter.str_to_int " 35.49.102.66 " assert_equal int, IpConverter.str_to_int("35.49.102.66") end def test_no_overflow assert_raises(ArgumentError) { IpConverter.str_to_int "12.12.0.256" } end def test_short_ip assert_raises(ArgumentError) { IpConverter.str_to_int "12.34.56" } end def test_long_ip assert_raises(ArgumentError) { IpConverter.str_to_int "12.34.56.78.90" } end def test_junk assert_raises(ArgumentError) { IpConverter.str_to_int "junk" } end end