public void Iteration_GetSet_OK() { Dictionary <string, string[]> IterationSets = new Dictionary <string, string[]>(); IterationSets.Add("List", new string[] { "A", "B", "C" }); IterationSets.Add("Numbers01", new string[] { "10", "9", "8", "7", "6", "5", "4", "3", "2", "1", "0" }); IterationSets.Add("Numbers02", new string[] { "250", "255", "260", "265", "270", "275", "280" }); Iteration iter = new Iteration(); iter.AddListItems("List", new List <string>(IterationSets["List"])); iter.AddNumberRange("Numbers01", 10, -1, 0, Iteration.EndValueEval.Inclusive); iter.AddNumberSequence("Numbers02", 250, 5, 7); string serialized = ObjectXMLSerializer <Iteration> .CreateDocumentFormat(iter); Iteration iterCloned = ObjectXMLSerializer <Iteration> .CreateObjectFormat(serialized); Assert.AreEqual(iter.IterationItems.Count, iterCloned.IterationItems.Count, "Iteration item count mismatch"); foreach (int key in iter.IterationItems.Keys) { Assert.AreEqual( iter.IterationItems[key].Name, iterCloned.IterationItems[key].Name, "Iteration item name mismatch for key " + key.ToString()); Assert.AreEqual( iter.IterationItems[key].IterationValues.Count, iterCloned.IterationItems[key].IterationValues.Count, "Iteration item count mismatch for key " + key.ToString()); } Assert.AreEqual(iter.TotalIterationCount, iterCloned.TotalIterationCount, "Total count mismatch"); }
public void Iteration_List_areIterationItemsAndCountsOK() { Iteration iter = new Iteration(); Assert.True( iter.IterationItems.Count == 0, "Count: expected {0}, got {1}", new object[] { 0, iter.IterationItems.Count }); iter.AddListItems("ListItem", new List <string>(new string[] { "A", "B", "C" })); Assert.True( iter.IterationItems.Count == 1, "GetIterationItems.Count: expected {0}, got {1}", new object[] { 1, iter.IterationItems.Count }); Assert.True( iter.IterationItemNameExists("ListItem"), "iter.IterationItemNameExists(\"ListItem\")", new object[] { "true", "false" }); Assert.True(iter.TotalIterationCount == 3, "Count: expected {0}, got {1}", new object[] { 3, iter.TotalIterationCount }); Assert.True(iter.TotalIterationCount == 3, "Count: expected {0}, got {1}", new object[] { 3, iter.TotalIterationCount }); Dictionary <string, string> argSet = iter.GetIterationValueSet(0); Assert.True( argSet.ContainsKey("ListItem"), "argSet.ContainsKey(\"ListItem\"): expected {0}, got {1}", new object[] { "true", "false" }); Assert.True( argSet.Count == 1, "argSet.Count: expected {0}, got {1}", new object[] { 1, argSet.Count == 1 }); Assert.AreEqual( argSet["ListItem"], "A", "argSet[\"listitem\"]: expected {0}, got {1}", new object[] { "A", argSet["ListItem"] }); }
public void Iteration_MultiEntry_areCountsOK() { Dictionary <string, string[]> IterationSets = new Dictionary <string, string[]>(); IterationSets.Add("List", new string[] { "A", "B", "C" }); IterationSets.Add("Numbers01", new string[] { "10", "9", "8", "7", "6", "5", "4", "3", "2", "1", "0" }); IterationSets.Add("Numbers02", new string[] { "250", "255", "260", "265", "270", "275", "280" }); Iteration iter = new Iteration(); iter.AddListItems("List", new List <string>(IterationSets["List"])); Assert.AreEqual(iter.IterationItems.Count, 1); Assert.AreEqual(iter.TotalIterationCount, IterationSets["List"].LongLength); iter.AddNumberRange("Numbers01", 10, -1, 0, Iteration.EndValueEval.Inclusive); Assert.AreEqual(iter.IterationItems.Count, 2); Assert.AreEqual( iter.TotalIterationCount, IterationSets["List"].LongLength * IterationSets["Numbers01"].LongLength ); iter.AddNumberSequence("Numbers02", 250, 5, 7); Assert.AreEqual(iter.IterationItems.Count, 3); Assert.AreEqual( iter.TotalIterationCount, IterationSets["List"].LongLength * IterationSets["Numbers01"].LongLength * IterationSets["Numbers02"].LongLength ); Int64 masterIndex = 0; int lengthList = IterationSets["List"].Length; int lengthNumbers01 = IterationSets["Numbers01"].Length; int lengthNumbers02 = IterationSets["Numbers02"].Length; // loop order: outermost is first added, to innermost is last item added. for (int indexList = 0; indexList < lengthList; indexList++) // { for (int indexNumbers01 = 0; indexNumbers01 < lengthNumbers01; indexNumbers01++) { for (int indexNumbers02 = 0; indexNumbers02 < lengthNumbers02; indexNumbers02++) { Dictionary <string, string> thisIndexIteration = iter.GetIterationValueSet(masterIndex); foreach (string listKey in IterationSets.Keys) { int listPosition = listKey == "List" ? indexList : (listKey == "Numbers01" ? indexNumbers01 : indexNumbers02); Assert.AreEqual( thisIndexIteration[listKey], IterationSets[listKey][listPosition], "Failure for masterIndex @ {0} for {1}: expected: \"{2}\"; got \"{3}\"", new object[] { masterIndex, listKey, IterationSets[listKey][listPosition], thisIndexIteration[listKey] } ); } masterIndex++; } } } Assert.AreEqual(masterIndex, iter.TotalIterationCount); }