public void TryCollapseAll_SubsetContainsAll_Test() { // Arrange var ranges = new[] { new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.5")), new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.20")), new IPAddressRange(IPAddress.Parse("192.168.1.8"), IPAddress.Parse("192.168.1.20")) }; // Act var success = IPAddressRange.TryCollapseAll(ranges, out var results); // Assert Assert.True(success); Assert.NotNull(results); var collection = results.ToList(); Assert.Single(collection); var result = collection.Single(); Assert.Equal(IPAddress.Parse("192.168.1.0"), result.Head); Assert.Equal(IPAddress.Parse("192.168.1.20"), result.Tail); }
public void TryCollapseAllEmptyInputTest() { // Act IList <IPAddressRange> results; var success = IPAddressRange.TryCollapseAll(Enumerable.Empty <IPAddressRange>(), out results); // Assert Assert.IsTrue(success); Assert.IsFalse(results.Any()); }
public void TryCollapseAll_EmptyInput_Test() { // Act var success = IPAddressRange.TryCollapseAll(Enumerable.Empty <IPAddressRange>(), out var results); // Assert Assert.True(success); Assert.NotNull(results); Assert.False(results.Any()); }
public void TryCollapseAllWithGapsTest() { var ranges = new[] { new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.5")), new IPAddressRange(IPAddress.Parse("192.168.1.7"), IPAddress.Parse("192.168.1.20")), new IPAddressRange(IPAddress.Parse("192.168.1.30"), IPAddress.Parse("192.168.1.35")) }; IList <IPAddressRange> results; var success = IPAddressRange.TryCollapseAll(ranges, out results); Assert.IsTrue(success); Assert.AreEqual(3, results.Count); CollectionAssert.AreEquivalent(results, ranges.ToList()); }
public void TryCollapse_MismatchedAddressFamilies_Test() { // Arrange var ranges = new[] { new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.5")), new IPAddressRange(IPAddress.Parse("::"), IPAddress.Parse("abcd::ef00")) }; // Act var success = IPAddressRange.TryCollapseAll(ranges, out var results); // Assert Assert.False(success); Assert.NotNull(results); Assert.False(results.Any()); }
public void TryCollapseAllInvalidInputTest() { // Arrange var ranges = new[] { new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.5")), new IPAddressRange(IPAddress.Parse("192.168.1.7"), null), new IPAddressRange(IPAddress.Parse("192.168.1.30"), IPAddress.Parse("192.168.1.35")) }; // Act IList <IPAddressRange> results; var success = IPAddressRange.TryCollapseAll(ranges, out results); // Assert Assert.IsFalse(success); Assert.IsFalse(results.Any()); }
public void TryCollapseAllDifferentAddressFamiliesTest() { // Arrange var ranges = new[] { new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.5")), new IPAddressRange(IPAddress.Parse("::"), IPAddress.Parse("abcd::ef00")), new IPAddressRange(IPAddress.Parse("192.168.1.30"), IPAddress.Parse("192.168.1.35")) }; // Act IList <IPAddressRange> results; var success = IPAddressRange.TryCollapseAll(ranges, out results); // Assert Assert.IsFalse(success); Assert.IsFalse(results.Any()); }
public void TryCollapse_AllInvalidInput_Test() { // Arrange var ranges = new[] { new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.5")), null, new IPAddressRange(IPAddress.Parse("192.168.1.30"), IPAddress.Parse("192.168.1.35")) }; // Act var success = IPAddressRange.TryCollapseAll(ranges, out var results); // Assert Assert.False(success); Assert.NotNull(results); Assert.False(results.Any()); }
public void TryCollapseAllSubsetContainsAllTest() { var ranges = new[] { new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.5")), new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.20")), new IPAddressRange(IPAddress.Parse("192.168.1.8"), IPAddress.Parse("192.168.1.20")) }; IList <IPAddressRange> results; var success = IPAddressRange.TryCollapseAll(ranges, out results); Assert.IsTrue(success); Assert.AreEqual(1, results.Count); var result = results.First(); Assert.AreEqual(IPAddress.Parse("192.168.1.0"), result.Head); Assert.AreEqual(IPAddress.Parse("192.168.1.20"), result.Tail); }
public void TryCollapseAll_WithGaps_Test() { // Arrange var ranges = new[] { new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.5")), new IPAddressRange(IPAddress.Parse("192.168.1.7"), IPAddress.Parse("192.168.1.20")), new IPAddressRange(IPAddress.Parse("192.168.1.30"), IPAddress.Parse("192.168.1.35")) }; // Act var success = IPAddressRange.TryCollapseAll(ranges, out var results); // Assert Assert.True(success); Assert.NotNull(results); var enumerable = results.ToList(); Assert.Equal(3, enumerable.Count); Assert.Equal(enumerable, ranges.ToList()); }
public void TryCollapseAll_Example() { // Arrange var ranges = new[] { new IPAddressRange(IPAddress.Parse("192.168.1.0"), IPAddress.Parse("192.168.1.5")), new IPAddressRange(IPAddress.Parse("192.168.1.6"), IPAddress.Parse("192.168.1.7")), new IPAddressRange(IPAddress.Parse("192.168.1.8"), IPAddress.Parse("192.168.1.20")) }; // Act var success = IPAddressRange.TryCollapseAll(ranges, out var results); var resultList = results?.ToList(); // Assert Assert.True(success); Assert.NotNull(results); Assert.Single(resultList); var result = resultList.Single(); Assert.Equal(IPAddress.Parse("192.168.1.0"), result.Head); Assert.Equal(IPAddress.Parse("192.168.1.20"), result.Tail); }