using System.Collections;
public static void Main()
var x = new NUnitLite.AutoRun().Execute(new[] {"--noh", "--noc"});
Console.WriteLine("----------------------------------------------");
Console.WriteLine(x == 0 ? "All Test Passed... :¬)" : $"{x} tests failed... :¬(");
[TestCase("81.226.117.221", 0, 32, "2001:2002::", "2001:2002:81.226:117.221::/32")]
[TestCase("10.4.5.6", 8, 32, "2001:db8::", "2001:db8:4.5:6.0::/32")]
[TestCase("80.223.255.254", 14, 38, "2001:2003:f000::", "2001:db8:4.5:6.0::/32")]
[TestCase("80.223.255.254", 16, 40, "2001:2003:fa00::", "2001:db8:4.5:6.0::/32")]
public void Run6rdParamsTest(string v4Addr, int v4Mask, int v4Len, string v6prefix, string expected)
var v6Addr = IPAddress.Parse(v6prefix);
var v6hex = string.Concat(v6Addr.GetAddressBytes().Select(b => $"{b:x2}"));
Console.WriteLine(v6hex);
var bits = new BitArray(v6Addr.GetAddressBytes());
foreach (bool o in (IEnumerable)bits)