Example #1
0
        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");
        }
Example #2
0
        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"] });
        }
Example #3
0
        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);
        }