Пример #1
0
        public void Serialize_UniqueRowsWithColumnName_CorrectConstraint()
        {
            var uniqueRows = new UniqueRowsXml()
            {
                Columns = new List <ColumnDefinitionXml>()
                {
                    new ColumnDefinitionXml()
                    {
                        Name = "myName"
                    }
                }
            };

            var testXml = new TestXml();

            testXml.Constraints.Add(uniqueRows);

            var serializer = new XmlSerializer(typeof(TestXml));
            var stream     = new MemoryStream();
            var writer     = new StreamWriter(stream, Encoding.UTF8);

            serializer.Serialize(writer, testXml);
            var content = Encoding.UTF8.GetString(stream.ToArray());

            writer.Close();
            stream.Close();

            Debug.WriteLine(content);

            Assert.That(content, Is.StringContaining("name="));
            Assert.That(content, Is.StringContaining("myName"));
            Assert.That(content, Is.Not.StringContaining("index="));
        }
Пример #2
0
        public void SerializeEqualToQuery_EqualTo_NewSyntax()
        {
            // Create an instance of the XmlSerializer specifying type and namespace.
            var cdXml = new TestXml()
            {
                Constraints = new List <AbstractConstraintXml>()
                {
                    new EqualToXml()
                    {
                        Query = new QueryXml()
                    }
                }
            };

            var serializer = new XmlSerializer(typeof(TestXml));
            var content    = string.Empty;

            using (var stream = new MemoryStream())
            {
                using (var writer = new StreamWriter(stream, Encoding.UTF8))
                    serializer.Serialize(writer, cdXml);
                content = Encoding.UTF8.GetString(stream.ToArray());
            }

            Debug.WriteLine(content);

            Assert.That(content, Does.Contain("<equal-to"));
        }
Пример #3
0
        public void Serialize_IsXml_NoDefaultAndSettings()
        {
            var isXml = new IsXml();

            isXml.Value = "decimal(10,2)";

            var testXml = new TestXml();

            testXml.Constraints.Add(isXml);

            var serializer = new XmlSerializer(typeof(TestXml));
            var stream     = new MemoryStream();
            var writer     = new StreamWriter(stream, Encoding.UTF8);

            serializer.Serialize(writer, testXml);
            var content = Encoding.UTF8.GetString(stream.ToArray());

            writer.Close();
            stream.Close();

            Debug.WriteLine(content);

            Assert.That(content, Is.StringContaining("<is"));
            Assert.That(content, Is.StringContaining(">decimal(10,2)<"));
            Assert.That(content, Is.Not.StringContaining("efault"));
            Assert.That(content, Is.Not.StringContaining("eference"));
        }
Пример #4
0
        public virtual void ExecuteTestCases(TestXml test)
        {
            Trace.WriteLineIf(NBiTraceSwitch.TraceVerbose, string.Format("Test loaded by {0}", GetOwnFilename()));
            Trace.WriteLineIf(NBiTraceSwitch.TraceInfo, string.Format("Test defined in {0}", TestSuiteFinder.Find()));

            //check if ignore is set to true
            if (test.Ignore)
            {
                Assert.Ignore(test.IgnoreReason);
            }
            else
            {
                ExecuteChecks(test.Condition);
                ExecuteSetup(test.Setup);
                foreach (var tc in test.Systems)
                {
                    foreach (var ctr in test.Constraints)
                    {
                        var testCase = new TestCaseFactory().Instantiate(tc, ctr);
                        AssertTestCase(testCase.SystemUnderTest, testCase.Constraint, test.Content);
                    }
                }
                ExecuteCleanup(test.Cleanup);
            }
        }
Пример #5
0
        public void Serialize_TestWithInstanceSettling_InstanceSettlingCorrectlySerialized()
        {
            var test = new TestXml()
            {
                InstanceSettling = new InstanceSettlingXml()
                {
                    Variable = new InstanceVariableXml()
                    {
                        Name = "firstOfMonth"
                    }
                }
            };

            var serializer = new XmlSerializer(typeof(TestXml));
            var stream     = new MemoryStream();
            var writer     = new StreamWriter(stream, Encoding.UTF8);

            serializer.Serialize(writer, test);
            var content = Encoding.UTF8.GetString(stream.ToArray());

            writer.Close();
            stream.Close();

            Debug.WriteLine(content);

            Assert.That(content, Is.StringContaining("<instance-settling"));
            Assert.That(content, Is.StringContaining("<local-variable"));
            Assert.That(content, Is.Not.StringContaining("<category"));
            Assert.That(content, Is.Not.StringContaining("<trait"));
        }
Пример #6
0
        public void Serialize_WithContainedIn_ContainedIn()
        {
            var testXml = new TestXml();

            var containedInXml = new ContainedInXml()
            {
                IgnoreCase   = true,
                IntegerRange = new NBi.Xml.Items.Ranges.IntegerRangeXml()
                {
                    Start = 10,
                    End   = 20,
                    Step  = 1
                }
            };

            testXml.Constraints.Add(containedInXml);

            var serializer = new XmlSerializer(typeof(TestXml));
            var stream     = new MemoryStream();
            var writer     = new StreamWriter(stream, Encoding.UTF8);

            serializer.Serialize(writer, testXml);
            var content = Encoding.UTF8.GetString(stream.ToArray());

            writer.Close();
            stream.Close();

            Debug.WriteLine(content);

            Assert.That(content, Does.Contain("<contained-in"));
        }
Пример #7
0
        public void ParseAreaMapTest_ParseOk()
        {
            XDocument areaLayerXml = TestXml.ReadXDocument(@"Data\AreaLayer\OmraadeKartTest.xml");

            GridLayer areaLayer = GridLayerImpl.FromXml(areaLayerXml);

            Assert.NotNull(areaLayer);
        }
Пример #8
0
        public void ParseAdminAreaMapTest_ParseOk()
        {
            XDocument areaLayerXml = TestXml.ReadXDocument(@"Data\AreaLayer\AdministrativtOmraadeKartTest.xml");

            var areaLayer = AreaLayerImpl.FromXml(areaLayerXml);

            Assert.NotNull(areaLayer);
        }
Пример #9
0
        public void ParseGridMapTest_ParseOk()
        {
            XDocument gridLayerXml = TestXml.ReadXDocument(@"Data\GridLayer\RuteNettKartTest.xml");

            GridLayer gridLayer = GridLayerImpl.FromXml(gridLayerXml);

            Assert.NotNull(gridLayer);
        }
Пример #10
0
    //序列化成二进制
    public static void SerializeBinary(TestXml test)
    {
        FileStream      fs = new FileStream(Application.dataPath + "/Script/7-Frame/1-Xml/test.bytes", FileMode.Create);
        BinaryFormatter bf = new BinaryFormatter();

        bf.Serialize(fs, test);
        fs.Close();
    }
Пример #11
0
        public virtual void ExecuteTestCases(TestXml test)
        {
            if (ConfigurationFinder != null)
            {
                Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceError, string.Format("Loading configuration"));
                var config = ConfigurationFinder.Find();
                ApplyConfig(config);
            }
            else
            {
                Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceError, $"No configuration-finder found.");
            }

            Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceVerbose, $"Test loaded by {GetOwnFilename()}");
            Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceInfo, $"Test defined in {TestSuiteFinder.Find()}");
            Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceInfo, $"{Variables.Count()} variables defined, {Variables.Count(x => x.Value.IsEvaluated())} already evaluated.");

            if (serviceLocator == null)
            {
                Initialize();
            }

            //check if ignore is set to true
            if (test.IsNotImplemented)
            {
                Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceInfo, $"Test not-implemented, will be ignored. Reason is '{test.NotImplemented.Reason}'");
                Assert.Ignore(test.IgnoreReason);
            }
            else if (test.Ignore)
            {
                Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceInfo, $"Test ignored. Reason is '{test.IgnoreReason}'");
                Assert.Ignore(test.IgnoreReason);
            }
            else
            {
                Trace.WriteLineIf(Extensibility.NBiTraceSwitch.TraceInfo, $"Running test '{test.Name}' #{test.UniqueIdentifier}");
                ExecuteChecks(test.Condition);
                ExecuteSetup(test.Setup);
                foreach (var tc in test.Systems)
                {
                    foreach (var ctr in test.Constraints)
                    {
                        var factory  = new TestCaseFactory(Configuration, Variables, serviceLocator);
                        var testCase = factory.Instantiate(tc, ctr);
                        try
                        {
                            AssertTestCase(testCase.SystemUnderTest, testCase.Constraint, test.Content);
                        }
                        catch
                        {
                            ExecuteCleanup(test.Cleanup);
                            throw;
                        }
                    }
                }
                ExecuteCleanup(test.Cleanup);
            }
        }
Пример #12
0
    //XML反序列化
    public static TestXml DeserializeXml()
    {
        FileStream    fs   = new FileStream(Application.dataPath + "/Script/7-Frame/1-Xml/test.xml", FileMode.Open);
        XmlSerializer xs   = new XmlSerializer(typeof(TestXml));
        TestXml       test = (TestXml)xs.Deserialize(fs);

        fs.Close();
        return(test);
    }
Пример #13
0
        public void Serialize_StructureXml_NoDefaultAndSettings()
        {
            var references = new List <ReferenceXml>()
            {
                new ReferenceXml()
                {
                    Name = "Bob", ConnectionString = "connStr"
                }
            };
            var perspectiveXml = new PerspectiveXml();

            perspectiveXml.Caption = "My Caption";
            perspectiveXml.Default = new DefaultXml()
            {
                ApplyTo = SettingsXml.DefaultScope.Assert, ConnectionString = "connStr"
            };
            perspectiveXml.Settings = new SettingsXml()
            {
                References = references
            };
            var structureXml = new StructureXml()
            {
                Item    = perspectiveXml,
                Default = new DefaultXml()
                {
                    ApplyTo = SettingsXml.DefaultScope.Assert, ConnectionString = "connStr"
                },
                Settings = new SettingsXml()
                {
                    References = references
                }
            };
            var testXml = new TestXml()
            {
                Systems = new List <AbstractSystemUnderTestXml>()
                {
                    structureXml
                }
            };

            var serializer = new XmlSerializer(typeof(TestXml));
            var stream     = new MemoryStream();
            var writer     = new StreamWriter(stream, Encoding.UTF8);

            serializer.Serialize(writer, testXml);
            var content = Encoding.UTF8.GetString(stream.ToArray());

            writer.Close();
            stream.Close();

            Debug.WriteLine(content);

            Assert.That(content, Is.StringContaining("My Caption"));
            Assert.That(content, Is.Not.StringContaining("efault"));
            Assert.That(content, Is.Not.StringContaining("eference"));
        }
Пример #14
0
    //二进制反序列化
    public static TestXml DeserializeBinary()
    {
        TextAsset       ta   = AssetDatabase.LoadAssetAtPath <TextAsset>("Assets/Script/7-Frame/1-Xml/test.bytes");
        MemoryStream    ms   = new MemoryStream(ta.bytes);
        BinaryFormatter bf   = new BinaryFormatter();
        TestXml         test = (TestXml)bf.Deserialize(ms);

        ms.Close();
        return(test);
    }
Пример #15
0
    public static void TestWrite(StringA szFileData)
    {
        TestXml pXmlNode = new TestXml();
        bool    bSuc     = os.ReadXml(pXmlNode, "ROOT", szFileData);

        StringA szSaveData;

        os.WriteXml(pXmlNode, "ROOT", szSaveData);
        szSaveData.Replace("\r\n", "");
        os.print("{0}", szSaveData);
    }
Пример #16
0
        public void Serialize_SampleFileWithDerivations_DerivationsCorrectlySerialized()
        {
            var test = new TestXml()
            {
                InstanceSettling = new InstanceSettlingXml()
                {
                    Variable = new InstanceVariableXml()
                    {
                        Name = "firstOfMonth"
                    },
                    DerivedVariables = new List <DerivedVariableXml>()
                    {
                        new DerivedVariableXml()
                        {
                            Name   = "secondOfMonth", BasedOn = "firstOfMonth", ColumnType = ColumnType.DateTime,
                            Script = new ScriptXml()
                            {
                                Language = LanguageType.Native, Code = "date-to-next-day"
                            }
                        },
                        new DerivedVariableXml()
                        {
                            Name   = "age", BasedOn = "secondOfMonth", ColumnType = ColumnType.Numeric,
                            Script = new ScriptXml()
                            {
                                Language = LanguageType.Native, Code = "date-to-age"
                            }
                        },
                    }
                }
            };

            var serializer = new XmlSerializer(typeof(TestXml));

            using (var stream = new MemoryStream())
            {
                using (var writer = new StreamWriter(stream, Encoding.UTF8))
                {
                    serializer.Serialize(writer, test);
                    var content = Encoding.UTF8.GetString(stream.ToArray());

                    Debug.WriteLine(content);

                    Assert.That(content, Does.Contain("<instance-settling"));
                    Assert.That(content, Does.Contain("<local-variable"));
                    Assert.That(content, Does.Contain("<derived-variable"));
                    Assert.That(content, Does.Contain("name=\"secondOfMonth\""));
                    Assert.That(content, Does.Contain("based-on=\"firstOfMonth\""));
                    Assert.That(content, Does.Contain("<script"));
                    Assert.That(content, Does.Contain("date-to-next-day"));
                    Assert.That(content, Does.Contain("date-to-age"));
                }
            }
        }
    static void Main(string[] args)
    {
        TestXml tx = new TestXml();

        tx.Add(new TestXmlElement());
        tx.Add(new TestXmlElement());
        StreamWriter  sw = new StreamWriter(@"c:\temp\testproj\test_class.xml");
        XmlSerializer x  = new XmlSerializer(typeof(TestXml));

        x.Serialize(sw.BaseStream, tx);
        sw.Close();
    }
Пример #18
0
    public static void TestLoad(StringA szFileData)
    {
        TestXml pXmlNode = new TestXml();
        bool    bSuc     = os.ReadXml(pXmlNode, "ROOT", szFileData);

        if (bSuc)
        {
            os.print("xml 读取成功, 文件大小={0}", szFileData.GetLength());
        }
        else
        {
            os.print("xml 读取失败, 文件大小={0}", szFileData.GetLength());
        }
    }
Пример #19
0
        public void Serialize_Trait_NameAsAttributeValueAsText()
        {
            var test  = new TestXml();
            var trait = new TraitXml()
            {
                Name = "My Trait", Value = "My Trait's value"
            };

            test.Traits.Add(trait);

            var manager = new XmlManager();
            var xml     = manager.XmlSerializeFrom <TestXml>(test);

            Assert.That(xml, Is.StringContaining("<trait name=\"My Trait\">My Trait's value</trait>"));
        }
Пример #20
0
        public void GetTestCases_TestCaseWithRegexName_ReplaceRegexByValueInName()
        {
            //Buiding object used during test
            //TestSuite invoked
            var test = new TestXml()
            {
                Name = "my name contains a regex '{sut:caption}' and it's parsed! Same for '{sut:display-folder}'.",
            };

            test.Systems.Add(
                new StructureXml()
            {
                Item = new MeasureXml()
                {
                    Caption       = "My Caption",
                    DisplayFolder = "My Display Folder"
                }
            }
                );

            var testSuiteXml = new TestSuiteXml();

            testSuiteXml.Tests.Add(test);

            //Building a stub for TestSuiteManager
            var testSuiteManagerStub = new Mock <XmlManager>();

            testSuiteManagerStub.Setup(mgr => mgr.Load(It.IsAny <string>()));
            testSuiteManagerStub.Setup(mgr => mgr.TestSuite).Returns(testSuiteXml);

            //Building a stub for TestSuiteFinder
            var testSuiteFinderStub = new Mock <TestSuiteFinder>();

            testSuiteFinderStub.Setup(finder => finder.Find()).Returns(string.Empty);

            var testSuite = new TestSuite(testSuiteManagerStub.Object, testSuiteFinderStub.Object);

            //Call the method to test
            var testCases = testSuite.GetTestCases();
            var testCase  = testCases.First();

            //Assertion
            Console.WriteLine(testCase.TestName);
            Assert.That(testCase.TestName, Is.StringContaining("my name contains a regex").And
                        .StringContaining("My Caption").And
                        .StringContaining("My Display Folder").And
                        .StringContaining("and it's parsed!"));
        }
Пример #21
0
        public void Serialize_TestWithoutInstanceSettling_InstanceSettlingNotSerialized()
        {
            var test = new TestXml();

            var serializer = new XmlSerializer(typeof(TestXml));

            using (var stream = new MemoryStream())
                using (var writer = new StreamWriter(stream, Encoding.UTF8))
                {
                    serializer.Serialize(writer, test);
                    var content = Encoding.UTF8.GetString(stream.ToArray());

                    Debug.WriteLine(content);

                    Assert.That(content, Does.Not.Contain("<instance-settling"));
                }
        }
Пример #22
0
        public virtual void ExecuteTestCases(TestXml test)
        {
            if (ConfigurationFinder != null)
            {
                Trace.WriteLineIf(NBiTraceSwitch.TraceError, string.Format("Loading configuration"));
                var config = ConfigurationFinder.Find();
                ApplyConfig(config);
            }
            else
            {
                Trace.WriteLineIf(NBiTraceSwitch.TraceError, string.Format("No configuration-finder found."));
            }

            Trace.WriteLineIf(NBiTraceSwitch.TraceVerbose, string.Format("Test loaded by {0}", GetOwnFilename()));
            Trace.WriteLineIf(NBiTraceSwitch.TraceInfo, string.Format("Test defined in {0}", TestSuiteFinder.Find()));

            //check if ignore is set to true
            if (test.Ignore)
            {
                Assert.Ignore(test.IgnoreReason);
            }
            else
            {
                ExecuteChecks(test.Condition);
                ExecuteSetup(test.Setup);
                foreach (var tc in test.Systems)
                {
                    foreach (var ctr in test.Constraints)
                    {
                        var factory  = new TestCaseFactory(Configuration);
                        var testCase = factory.Instantiate(tc, ctr);
                        try
                        {
                            AssertTestCase(testCase.SystemUnderTest, testCase.Constraint, test.Content);
                        }
                        catch
                        {
                            ExecuteCleanup(test.Cleanup);
                            throw;
                        }
                    }
                }
                ExecuteCleanup(test.Cleanup);
            }
        }
Пример #23
0
        public void Serialize_WithCategorieAndTrait_CategorieAndTraitNotSerialized()
        {
            var test = new TestXml()
            {
                InstanceSettling = new InstanceSettlingXml()
                {
                    Variable = new InstanceVariableXml()
                    {
                        Name = "firstOfMonth"
                    },
                    Categories = new List <string>()
                    {
                        "~{@firstOfMonth:MMM}", "~{@firstOfMonth:MM}"
                    },
                    Traits = new List <TraitXml>()
                    {
                        new TraitXml()
                        {
                            Name = "Year", Value = "~{@firstOfMonth:YYYY}"
                        }
                    }
                }
            };

            var serializer = new XmlSerializer(test.GetType());

            using (var stream = new MemoryStream())
                using (var writer = new StreamWriter(stream, Encoding.UTF8))
                {
                    serializer.Serialize(writer, test);
                    var content = Encoding.UTF8.GetString(stream.ToArray());


                    Debug.WriteLine(content);

                    Assert.That(content, Is.StringContaining("<instance-settling"));
                    Assert.That(content, Is.StringContaining("<category"));
                    Assert.That(content, Is.StringContaining("<trait"));
                }
        }
Пример #24
0
        public void Serialize_NoDuplicate_CorrectConstraint()
        {
            var noDuplicate = new UniqueRowsXml();

            var testXml = new TestXml();

            testXml.Constraints.Add(noDuplicate);

            var serializer = new XmlSerializer(typeof(TestXml));
            var stream     = new MemoryStream();
            var writer     = new StreamWriter(stream, Encoding.UTF8);

            serializer.Serialize(writer, testXml);
            var content = Encoding.UTF8.GetString(stream.ToArray());

            writer.Close();
            stream.Close();

            Debug.WriteLine(content);

            Assert.That(content, Is.StringContaining("<unique-rows />"));
        }
Пример #25
0
        public ApiResponse <EndPoints> SetObjectToXml([FromBody] TestXml testXml)
        {
            var response = _xmlFileManager.WriteXml <EndPoints>(testXml.FileName, testXml.EndPoints);

            return(response);
        }
Пример #26
0
 public override void ExecuteTestCases(TestXml test)
 {
     base.ExecuteTestCases(test);
 }
Пример #27
0
 public void ExecuteTestCases(TestXml test, ITestConfiguration configuration)
 {
     base.Configuration = configuration;
     base.ExecuteTestCases(test);
 }
Пример #28
0
        public void ValidateGridMapImport_ValidationOk()
        {
            var gridMapXml = TestXml.ReadXDocument(@"Data\GridLayer\RuteNettKartTest.xml");

            dataDeliveryMapImportValidator.ValidateDataDelivery(gridMapXml);
        }
Пример #29
0
        public void ValidateAdminAreaMapImport_ValidationOk()
        {
            var areaMapXml = TestXml.ReadXDocument(@"Data\AreaLayer\AdministrativtOmraadeKartTest.xml");

            dataDeliveryMapImportValidator.ValidateDataDelivery(areaMapXml);
        }
Пример #30
0
        public virtual void ExecuteTestCases(TestXml test, string testName, IDictionary <string, ITestVariable> localVariables)
        {
            if (ConfigurationProvider != null)
            {
                Trace.WriteLineIf(NBiTraceSwitch.TraceError, string.Format("Loading configuration"));
                var config = ConfigurationProvider.GetSection();
                ApplyConfig(config);
            }
            else
            {
                Trace.WriteLineIf(NBiTraceSwitch.TraceError, $"No configuration-finder found.");
            }

            Trace.WriteLineIf(NBiTraceSwitch.TraceVerbose, $"Test loaded by {GetOwnFilename()}");
            Trace.WriteLineIf(NBiTraceSwitch.TraceInfo, $"{Variables.Count()} variables defined, {Variables.Count(x => x.Value.IsEvaluated())} already evaluated.");

            if (serviceLocator == null)
            {
                Initialize();
            }

            //check if ignore is set to true
            if (test.IsNotImplemented)
            {
                Trace.WriteLineIf(NBiTraceSwitch.TraceInfo, $"Test not-implemented, will be ignored. Reason is '{test.NotImplemented.Reason}'");
                Assert.Ignore(test.IgnoreReason);
            }
            else if (test.Ignore)
            {
                Trace.WriteLineIf(NBiTraceSwitch.TraceInfo, $"Test ignored. Reason is '{test.IgnoreReason}'");
                Assert.Ignore(test.IgnoreReason);
            }
            else
            {
                Trace.WriteLineIf(NBiTraceSwitch.TraceInfo, $"Running test '{testName}' #{test.UniqueIdentifier}");
                var allVariables = Variables.Union(localVariables).ToDictionary(x => x.Key, x => x.Value);
                ValidateConditions(test.Condition, allVariables);
                ExecuteSetup(test.Setup, allVariables);
                foreach (var sut in test.Systems)
                {
                    if ((test?.Constraints.Count ?? 0) == 0)
                    {
                        Trace.WriteLineIf(NBiTraceSwitch.TraceWarning, $"Test '{testName}' has no constraint. It will always result in a success.");
                    }

                    foreach (var ctr in test.Constraints)
                    {
                        var factory  = new TestCaseFactory(Configuration, allVariables, serviceLocator);
                        var testCase = factory.Instantiate(sut, ctr);
                        try
                        {
                            AssertTestCase(testCase.SystemUnderTest, testCase.Constraint, test.Content);
                        }
                        catch
                        {
                            ExecuteCleanup(test.Cleanup, allVariables);
                            throw;
                        }
                    }
                }
                ExecuteCleanup(test.Cleanup, allVariables);
            }
        }