예제 #1
0
        private void CheckTestAgainstControl(IVertexSource testVertexSource, string testTypeString)
        {
            // there is an assumption that we got to save valid vertex lists at least once.
            string        controlFileTxt      = testTypeString + " Control.Txt";
            string        vertexSourceFolder  = "ControlVertexSources";
            VertexStorage controlVertexSource = new VertexStorage();

            if (!Directory.Exists(vertexSourceFolder))
            {
                Directory.CreateDirectory(vertexSourceFolder);
            }
            string controlPathAndFileName = Path.Combine(vertexSourceFolder, controlFileTxt);

            if (File.Exists(controlPathAndFileName))
            {
                VertexSourceIO.Load(controlVertexSource, controlPathAndFileName);

                // this test the old vertex getting code
                {
                    string testOldToOldFailPathAndFileName = Path.Combine(vertexSourceFolder, testTypeString + " Test Old Fail.Txt");
                    bool   testOldToOldIsSameAsControl     = controlVertexSource.Equals(testVertexSource, oldStyle: true);
                    if (!testOldToOldIsSameAsControl)
                    {
                        // this VertexSource will be in the current output folder inside of VertexSourceFolder
                        VertexSourceIO.Save(testVertexSource, testOldToOldFailPathAndFileName, oldStyle: true);
                    }
                    else if (File.Exists(testOldToOldFailPathAndFileName))
                    {
                        // we don't want to have these confounding our results.
                        File.Delete(testOldToOldFailPathAndFileName);
                    }

                    Assert.IsTrue(testOldToOldIsSameAsControl);
                }

                // this test the new vertex generator code
                if (true)
                {
                    string testOldToNewFailPathAndFileName = Path.Combine(vertexSourceFolder, testTypeString + " Test New Fail.Txt");
                    bool   testOldToNewIsSameAsControl     = controlVertexSource.Equals(testVertexSource, oldStyle: false);
                    if (!testOldToNewIsSameAsControl)
                    {
                        // this VertexSource will be in the current output folder inside of VertexSourceFolder
                        VertexSourceIO.Save(testVertexSource, testOldToNewFailPathAndFileName, oldStyle: false);
                    }
                    else if (File.Exists(testOldToNewFailPathAndFileName))
                    {
                        // we don't want to have these confounding our results.
                        File.Delete(testOldToNewFailPathAndFileName);
                    }

                    Assert.IsTrue(testOldToNewIsSameAsControl);
                }
                // If you want to create new control VertexSources select SetNextStatement to inside the else condition to create them.
            }
            else
            {
                VertexSourceIO.Save(testVertexSource, controlPathAndFileName);
            }
        }