xenadmin/XenAdminTests/XenModelTests/AddressTests.cs
Konstantina Chremmou 4844bac1e8 CP-30451: Unit test restructuring and modifications for better use of the Nunit3 framework.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2019-07-11 16:34:59 +01:00

83 lines
2.5 KiB
C#

using System.Collections.Generic;
using NUnit.Framework;
using XenAdmin.Core;
namespace XenAdminTests.XenModelTests
{
[TestFixture, Category(TestCategories.Unit)]
public class AddressTests
{
private readonly Dictionary<string, string> _simpleNetworks = new Dictionary<string, string>
{
{"0/ip", "10.71.57.53"},
{"0/ipv4/0", "10.71.57.53"},
{"0/ipv6/0", "fe80:0000:0000:0000:1c1a:c2ff:fe2e:c823"}
};
private readonly Dictionary<string, string> _compoundNetworks = new Dictionary<string, string>
{
{"0/ip", "192.168.0.1\n192.168.0.2"},
{"1/ip", "192.168.0.3%n192.168.0.4"}
};
[Test]
public void TestSimple()
{
var expected = new List<string>
{
"10.71.57.53",
"fe80:0000:0000:0000:1c1a:c2ff:fe2e:c823"
};
var actual = Helpers.FindIpAddresses(_simpleNetworks, "0");
Assert.That(actual, Is.EquivalentTo(expected));
}
[Test]
public void TestUnusedDevice()
{
var actual = Helpers.FindIpAddresses(_simpleNetworks, "1");
Assert.That(actual, Is.Empty);
}
[Test]
public void TestCompoundNetworksNewlineSeparated()
{
var expected = new List<string>
{
"192.168.0.1",
"192.168.0.2"
};
var actual = Helpers.FindIpAddresses(_compoundNetworks, "0");
Assert.That(actual, Is.EquivalentTo(expected));
}
[Test]
public void TestCompoundNetworkPercentNSeparated()
{
var expected = new List<string>
{
"192.168.0.3",
"192.168.0.4"
};
var actual = Helpers.FindIpAddresses(_compoundNetworks, "1");
Assert.That(actual, Is.EquivalentTo(expected));
}
[Test]
public void TestCompoundNetworkSkipsBlanks()
{
var given = new Dictionary<string, string>
{
{"0/ip", "10.0.0.24\n\n10.0.0.26"}
};
var expected = new List<string>
{
"10.0.0.24",
"10.0.0.26"
};
var actual = Helpers.FindIpAddresses(given, "0");
Assert.That(actual, Is.EquivalentTo(expected));
}
}
}