public void ReportHandler_ReportingTest() { CombinatorialGenerator_TestClass handlerClass = new CombinatorialGenerator_TestClass(); CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); CombinatorialGenerator<string>.ReportOut reportHandler = handlerClass.HandleReport; CombinatorialTier<string> resultTier = null; List<string> expectedCombinatorials = CombinatorialGenerator_TestClass.Get_CountThree_TierThree_NoDegenerates(); testGenerator.ReportingHandler = reportHandler; testGenerator.Elements = CombinatorialGenerator_TestClass.GetCountThreeList(); bool getResult = testGenerator.GetCombinatorials(3); resultTier = testGenerator.GetTier(3); Assert.IsTrue(getResult); Assert.Greater(handlerClass.Combinatorials.Count, 0); Assert.IsNotNull(handlerClass.Tier); Assert.Greater(handlerClass.Tier.Tier.Count, 0); List<string> internalTierList = CombinatorialGenerator_TestClass.ConvertCombinatorialsToStringList(resultTier); List<string> externalTierList = CombinatorialGenerator_TestClass.ConvertCombinatorialsToStringList(handlerClass.Tier); List<string> externalCombinatorialList = CombinatorialGenerator_TestClass.ConvertCombinatorialsToStringList(handlerClass.Combinatorials); CollectionAssert.AreEquivalent(internalTierList, externalTierList); CollectionAssert.AreEquivalent(internalTierList, externalCombinatorialList); }
public void ErrorHandler_GetCombinatorials_TierMaxGreaterThanElementsCount() { CombinatorialGenerator_TestClass handlerClass = new CombinatorialGenerator_TestClass(); CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); CombinatorialGenerator<string>.ErrorOut errorHandler = handlerClass.HandleError; testGenerator.ErrorHandler = errorHandler; testGenerator.Elements = CombinatorialGenerator_TestClass.GetCountTwoList(); bool getResult = testGenerator.GetCombinatorials(1, 3); Assert.IsFalse(getResult, "Get Result"); Assert.AreEqual(1, handlerClass.Errors.Count, "Errors.Count"); Assert.IsTrue(handlerClass.ContainsError("TierMaxMoreThanElementsCount"), "Contains TierMaxMoreThanElementsCount"); }
public void GetTier_ElementsCountOne_PassTwo() { CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); CombinatorialGenerator_TestClass handlerClass = new CombinatorialGenerator_TestClass(); CombinatorialGenerator<string>.ErrorOut errorHandler = handlerClass.HandleError; CombinatorialTier<string> resultTier = null; testGenerator.ErrorHandler = errorHandler; testGenerator.Elements = CombinatorialGenerator_TestClass.GetCountOneList(); bool getResult = testGenerator.GetCombinatorials(); resultTier = testGenerator.GetTier(2); Assert.IsTrue(getResult); Assert.AreEqual(1, handlerClass.Errors.Count, "Errors.Count"); Assert.IsTrue(handlerClass.ContainsError("TryGetTierPassedFailed"), "TryGetTierPassedFailed"); }
public void ErrorHandler_GetCombinatorials_ElementsIsEmpty() { CombinatorialGenerator_TestClass handlerClass = new CombinatorialGenerator_TestClass(); CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); CombinatorialGenerator<string>.ErrorOut errorHandler = handlerClass.HandleError; testGenerator.ErrorHandler = errorHandler; bool getResult = testGenerator.GetCombinatorials(); Assert.IsFalse(getResult); Assert.AreEqual(1, handlerClass.Errors.Count); Assert.IsTrue(handlerClass.ContainsError("ElementsIsEmpty")); }
public void ErrorHandler_GetCombinatorials_TierMaxLessThanTierMin() { CombinatorialGenerator_TestClass handlerClass = new CombinatorialGenerator_TestClass(); CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); CombinatorialGenerator<string>.ErrorOut errorHandler = handlerClass.HandleError; testGenerator.ErrorHandler = errorHandler; testGenerator.Elements = CombinatorialGenerator_TestClass.GetCountTwoList(); bool getResult = testGenerator.GetCombinatorials(2, 1); Assert.IsFalse(getResult); Assert.AreEqual(1, handlerClass.Errors.Count); Assert.IsTrue(handlerClass.ContainsError("TierMaxLessThanTierMin")); }
public void GetCombinatorial_Degenerates_CountTwo_PassThree_PassThree() { CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); testGenerator.Elements = CombinatorialGenerator_TestClass.GetCountTwoList(); testGenerator.CurrentRule = CombinatorialRule.PermutationsAllowed; bool getResult = testGenerator.GetCombinatorials(3, 3); Assert.IsTrue(getResult); Assert.AreEqual(1, testGenerator.TierCount); CombinatorialTier<string> resultTier = testGenerator.GetTier(3); List<string> expectedStrings = CombinatorialGenerator_TestClass.Get_CountTwo_TierThree_PermutationsAllowed(); List<string> actualStrings = CombinatorialGenerator_TestClass.ConvertCombinatorialsToStringList(resultTier); CollectionAssert.AreEquivalent(expectedStrings, actualStrings); }
public void GetCombinatorial_Degenerates_CountOne_PassOne_PassTwo() { CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); testGenerator.Elements = CombinatorialGenerator_TestClass.GetCountOneList(); testGenerator.CurrentRule = CombinatorialRule.DegeneratesAllowed; bool getResult = testGenerator.GetCombinatorials(1, 2); Assert.IsTrue(getResult); Assert.AreEqual(2, testGenerator.TierCount); CombinatorialTier<string> resultTier = testGenerator.GetTier(1); List<string> expectedStrings = CombinatorialGenerator_TestClass.Get_CountOne_TierOne_NoDegenerates(); List<string> actualStrings = CombinatorialGenerator_TestClass.ConvertCombinatorialsToStringList(resultTier); CollectionAssert.AreEquivalent(expectedStrings, actualStrings); resultTier = testGenerator.GetTier(2); expectedStrings = CombinatorialGenerator_TestClass.Get_CountOne_TierTwo_DegeneratesAllowed(); actualStrings = CombinatorialGenerator_TestClass.ConvertCombinatorialsToStringList(resultTier); CollectionAssert.AreEquivalent(expectedStrings, actualStrings); }
public void GetCombinatorial_CountThree_PassTwo_PassThree() { CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); testGenerator.Elements = CombinatorialGenerator_TestClass.GetCountThreeList(); bool getResult = testGenerator.GetCombinatorials(2, 3); Assert.IsTrue(getResult); Assert.AreEqual(2, testGenerator.TierCount); CombinatorialTier<string> resultTier = testGenerator.GetTier(2); List<string> expectedStrings = CombinatorialGenerator_TestClass.Get_CountThree_TierTwo_NoDegenerates(); List<string> actualStrings = CombinatorialGenerator_TestClass.ConvertCombinatorialsToStringList(resultTier); CollectionAssert.AreEquivalent(expectedStrings, actualStrings); resultTier = testGenerator.GetTier(3); expectedStrings = CombinatorialGenerator_TestClass.Get_CountThree_TierThree_NoDegenerates(); actualStrings = CombinatorialGenerator_TestClass.ConvertCombinatorialsToStringList(resultTier); CollectionAssert.AreEquivalent(expectedStrings, actualStrings); }
public void GetCombinatorial_CountTwo_PassOne() { CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); testGenerator.Elements = CombinatorialGenerator_TestClass.GetCountTwoList(); bool getResult = testGenerator.GetCombinatorials(1); Assert.IsTrue(getResult, "GetResult"); Assert.AreEqual(1, testGenerator.TierCount, "TierCount"); CombinatorialTier<string> resultTier = testGenerator.GetTier(1); List<string> expectedStrings = CombinatorialGenerator_TestClass.Get_CountTwo_TierOne_NoDegenerates(); List<string> actualStrings = CombinatorialGenerator_TestClass.ConvertCombinatorialsToStringList(resultTier); CollectionAssert.AreEquivalent(expectedStrings, actualStrings, "Combinatorials"); }
public void GetTier_ElementsCountOne_PassTwo() { CombinatorialGenerator<string> testGenerator = new CombinatorialGenerator<string>(); CombinatorialTier<string> resultTier = null; testGenerator.Elements = CombinatorialGenerator_TestClass.GetCountOneList(); testGenerator.GetCombinatorials(); resultTier = testGenerator.GetTier(2); Assert.IsNotNull(resultTier, "ResultTier"); Assert.AreEqual(0, resultTier.Tier.Count, "Tier.Count"); }