public void LoadTest() { // Arrange int seed = 13367; string loadString = $"~~{seed}"; IPv4Generator ip1 = new IPv4Generator(); IPv4Generator ip2 = new IPv4Generator(); List <string> results1 = new List <string>(); List <string> results2 = new List <string>(); // Act var shouldBeValidInitResult = ip1.Init(null, seed); var shouldBeValidLoadResult = ip2.Load(loadString); for (int i = 0; i < 13; i++) { results1.Add((string)ip1.Generate().result); results2.Add((string)ip2.Generate().result); } // Assert Assert.IsTrue(shouldBeValidInitResult.success); Assert.IsTrue(shouldBeValidLoadResult.success); CollectionAssert.AreEqual(results1, results2); }
public void GenerateTest() { // Arrange object parameter = null; int seed = 1337; int loopCount = 100; IPv4Generator ig = new IPv4Generator(); List <string> stringAddresses = new List <string>(); List <uint> uintAddresses = new List <uint>(); List <bool> successList = new List <bool>(); // Act var shouldBeValidResult = ig.Init(parameter, seed); var generated1 = ig.Generate(parameter); var generated2 = ig.Generate(parameter); // Same step should provide same result for (int i = 0; i < loopCount; i++) { ig.NextStep(); var generateResult1 = ig.Generate(parameter: null, wantedOutput: typeof(string)); var generateResult2 = ig.Generate(parameter: null, wantedOutput: typeof(uint)); successList.Add(generateResult1.success); successList.Add(generateResult2.success); stringAddresses.Add((string)generateResult1.result); uintAddresses.Add((uint)generateResult2.result); } // Assert Assert.IsTrue(shouldBeValidResult.success, "Init should have been successful"); Assert.AreEqual(generated1.result, generated2.result, "Both generates should have same results since NextStep has not been called between them"); CollectionAssert.DoesNotContain(successList, false, "All generates should have been successful"); CollectionAssert.AllItemsAreUnique(stringAddresses, "In generated addresses should be unique"); CollectionAssert.AllItemsAreUnique(uintAddresses, "In generated addresses should be unique"); Assert.AreEqual("67.94.2.170", stringAddresses[0], "Selected seed should always generate this result"); Assert.AreEqual(2852281923, uintAddresses[0], "Selected seed should always generate this result"); }