Example #1
0
        public void GetConstraint_SingleRow_CorrectConstraint()
        {
            var sutXmlStubFactory  = new Mock <Systems.ExecutionXml>();
            var itemXmlStubFactory = new Mock <QueryableXml>();

            itemXmlStubFactory.Setup(i => i.GetQuery()).Returns("query");
            sutXmlStubFactory.Setup(s => s.Item).Returns(itemXmlStubFactory.Object);
            var sutXml = sutXmlStubFactory.Object;

            sutXml.Item = itemXmlStubFactory.Object;

            var columnDef = Mock.Of <ColumnDefinitionXml>
                            (
                c => c.Index == 1 &&
                c.Role == ColumnRole.Value &&
                c.Type == ColumnType.Text
                            );

            var ctrXml = new EqualToXml(true);

            ctrXml.Behavior          = EqualToXml.ComparisonBehavior.SingleRow;
            ctrXml.Query             = new QueryXml();
            ctrXml.Query.InlineQuery = "select * from Table;";

            var builder = new ResultSetEqualToBuilder();

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EqualToConstraint>());
            Assert.That(((EqualToConstraint)ctr).Engine, Is.InstanceOf <SingleRowComparer>());
            Assert.That(((EqualToConstraint)ctr).Engine.Settings, Is.InstanceOf <SettingsSingleRowComparison>());
        }
Example #2
0
        protected internal TestSuiteXml BuildResultSetsBased()
        {
            var testSuite = new TestSuiteXml();

            var queries = Directory.GetFiles(actual.Directory);

            foreach (var query in queries)
            {
                if (File.Exists(Path.Combine(expect.Directory, Path.GetFileNameWithoutExtension(query) + ".csv")))
                {
                    var test = new TestXml();

                    testSuite.Tests.Add(test);
                    test.Name = Path.GetFileNameWithoutExtension(query);
                    test.Categories.AddRange(Path.GetFileNameWithoutExtension(query).Split(new string[] { " - " }, StringSplitOptions.RemoveEmptyEntries));

                    var ctr = new EqualToXml();
                    test.Constraints.Add(ctr);
                    ctr.ResultSetOld = new ResultSetXml()
                    {
                        File = Path.Combine(expect.Directory, Path.GetFileNameWithoutExtension(query) + ".csv")
                    };

                    var sut = new Systems.ExecutionXml();
                    test.Systems.Add(sut);
                    ((QueryXml)sut.Item).File             = query;
                    ((QueryXml)sut.Item).ConnectionString = actual.ConnectionString;
                }
            }
            return(testSuite);
        }
Example #3
0
        public void GetConstraint_BuildWithParallel_CorrectConstraint()
        {
            var sutXmlStubFactory  = new Mock <Systems.ExecutionXml>();
            var itemXmlStubFactory = new Mock <QueryableXml>();

            itemXmlStubFactory.Setup(i => i.GetQuery()).Returns("query");
            sutXmlStubFactory.Setup(s => s.Item).Returns(itemXmlStubFactory.Object);
            var sutXml = sutXmlStubFactory.Object;

            sutXml.Item = itemXmlStubFactory.Object;

            var ctrXml = new EqualToXml(true)
            {
                ResultSet = new ResultSetXml()
            };

            var builder = new ResultSetEqualToBuilder();

            builder.Setup(sutXml, ctrXml, null, null, new ServiceLocator());
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EqualToConstraint>());
            Assert.That(((EqualToConstraint)ctr).IsParallelizeQueries(), Is.True);
        }
Example #4
0
        public void GetConstraint_BuildWithQuery_CorrectConstraint()
        {
            var sutXmlStubFactory  = new Mock <Systems.ExecutionXml>();
            var itemXmlStubFactory = new Mock <QueryableXml>();

            itemXmlStubFactory.Setup(i => i.GetQuery()).Returns("query");
            sutXmlStubFactory.Setup(s => s.Item).Returns(itemXmlStubFactory.Object);
            var sutXml = sutXmlStubFactory.Object;

            sutXml.Item = itemXmlStubFactory.Object;

            var ctrXml = new EqualToXml(SettingsXml.Empty);

            ctrXml.Query = new Items.QueryXml()
            {
                InlineQuery = "query"
            };

            var builder = new ResultSetEqualToBuilder();

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EqualToConstraint>());
        }
Example #5
0
        public void GetConstraint_BuildWithResultSet_CorrectConstraint()
        {
            var sutXmlStubFactory  = new Mock <Systems.ExecutionXml>();
            var itemXmlStubFactory = new Mock <QueryXml>();

            itemXmlStubFactory.Setup(i => i.Settings).Returns(SettingsXml.Empty);
            itemXmlStubFactory.Setup(i => i.InlineQuery).Returns("query");
            sutXmlStubFactory.Setup(s => s.Item).Returns(itemXmlStubFactory.Object);
            var sutXml = sutXmlStubFactory.Object;

            sutXml.Item = itemXmlStubFactory.Object;

            var ctrXml = new EqualToXml(SettingsXml.Empty)
            {
                ResultSetOld = new ResultSetXml()
            };

            var builder = new ResultSetEqualToBuilder();

            builder.Setup(sutXml, ctrXml, null, null, new ServiceLocator());
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EqualToConstraint>());
        }
Example #6
0
        public void GetSystemUnderTest_Build_CorrectDiscoveryCommand()
        {
            var sutXmlStubFactory  = new Mock <Systems.ExecutionXml>();
            var itemXmlStubFactory = new Mock <QueryableXml>();

            itemXmlStubFactory.Setup(i => i.GetQuery()).Returns("query");
            sutXmlStubFactory.Setup(s => s.Item).Returns(itemXmlStubFactory.Object);
            var sutXml = sutXmlStubFactory.Object;

            sutXml.Item = itemXmlStubFactory.Object;

            var ctrXml = new EqualToXml(SettingsXml.Empty);

            ctrXml.Query = new Items.QueryXml()
            {
                InlineQuery = "query"
            };

            var builder = new ExecutionEqualToBuilder();

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var sut = builder.GetSystemUnderTest();

            Assert.That(sut, Is.InstanceOf <IDbCommand>());
        }
Example #7
0
        public void Serialize_InlineQuery_UseCData()
        {
            // Create an instance of the XmlSerializer specifying type and namespace.
            var ctrXml   = new EqualToXml();
            var queryXml = new QueryXml
            {
                ConnectionString = "my connection-string",
                InlineQuery      = "select * from table"
            };

            ctrXml.Query = queryXml;

            var overrides = new WriteOnlyAttributes();

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

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

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

            Debug.WriteLine(content);

            Assert.That(content, Is.StringContaining("<![CDATA["));
            Assert.That(content, Is.StringContaining("select * from table"));
            Assert.That(content, Is.StringContaining("my connection-string"));
            Assert.That(content.Split(new[] { ' ' }), Has.Exactly(1).EqualTo("*"));
        }
        public void GetSystemUnderTest_ExecutionXml_IResultSetService()
        {
            var sutXmlStubFactory  = new Mock <Systems.ExecutionXml>();
            var itemXmlStubFactory = new Mock <QueryableXml>();

            itemXmlStubFactory.Setup(i => i.GetQuery()).Returns("query");
            sutXmlStubFactory.Setup(s => s.Item).Returns(itemXmlStubFactory.Object);
            var sutXml = sutXmlStubFactory.Object;

            sutXml.Item = itemXmlStubFactory.Object;

            var ctrXml = new EqualToXml(SettingsXml.Empty)
            {
                Query = new QueryXml()
                {
                    InlineQuery = "query"
                }
            };

            var builder = new ResultSetEqualToBuilder();

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var sut = builder.GetSystemUnderTest();

            Assert.That(sut, Is.Not.Null);
            Assert.That(sut, Is.InstanceOf <IResultSetService>());
        }
Example #9
0
        public void GetConstraint_BuildWithTolerance_CorrectConstraint()
        {
            var sutXmlStubFactory  = new Mock <Systems.ExecutionXml>();
            var itemXmlStubFactory = new Mock <QueryableXml>();

            itemXmlStubFactory.Setup(i => i.GetQuery()).Returns("query");
            sutXmlStubFactory.Setup(s => s.Item).Returns(itemXmlStubFactory.Object);
            var sutXml = sutXmlStubFactory.Object;

            sutXml.Item = itemXmlStubFactory.Object;

            var ctrXml = new EqualToXml(SettingsXml.Empty);

            ctrXml.Query = new Items.QueryXml()
            {
                InlineQuery = "query"
            };
            ctrXml.Tolerance = "10";

            var builder = new ResultSetEqualToBuilder();

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EqualToConstraint>());
            //Get the tolerance for the column with 1 (and not 0) to avoid to get the tolerance on a key.
            var settings = ((EqualToConstraint)ctr).Engine.Settings as SettingsResultSetComparisonByIndex;

            Assert.That(settings.GetTolerance(1).ValueString, Is.EqualTo("10"));
        }
Example #10
0
        public void Instantiate_StructureEqualTo_ArgumentException()
        {
            var sutXml          = new StructureXml();
            var ctrXml          = new EqualToXml();
            var testCaseFactory = new TestCaseFactory();

            Assert.Throws <ArgumentException>(delegate { testCaseFactory.Instantiate(sutXml, ctrXml); });
        }
Example #11
0
        protected override void SpecificSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(ctrXml is EqualToXml))
            {
                throw new ArgumentException("Constraint must be a 'EqualToXml'");
            }

            ConstraintXml = (EqualToXml)ctrXml;
        }
Example #12
0
        public void IsHandling_StructureEqualTo_False()
        {
            var sutXml          = new StructureXml();
            var ctrXml          = new EqualToXml();
            var testCaseFactory = new TestCaseFactory();

            var actual = testCaseFactory.IsHandling(sutXml.GetType(), ctrXml.GetType());

            Assert.That(actual, Is.False);
        }
Example #13
0
        public void IsHandling_QueryEqualTo_True()
        {
            var sutXml          = new ExecutionXml();
            var ctrXml          = new EqualToXml();
            var testCaseFactory = new TestCaseFactory();

            var actual = testCaseFactory.IsHandling(sutXml.GetType(), ctrXml.GetType());

            Assert.That(actual, Is.True);
        }
Example #14
0
        private ResultSetComparisonSettings BuildSettings()
        {
            //Buiding object used during test
            var xml = new EqualToXml();

            //default values/def
            xml.KeysDef = ResultSetComparisonSettings.KeysChoice.AllExpectLast;
            //default tolerance
            xml.Tolerance = "100";

            //Build a value column (numeric, specific tolerance)
            var colXml = new ColumnDefinitionXml();

            colXml.Index     = 1;
            colXml.Role      = ColumnRole.Value;
            colXml.Type      = ColumnType.Numeric;
            colXml.Tolerance = "1";

            //Build a value column (without info)
            var colLightXml = new ColumnDefinitionXml();

            colLightXml.Index = 2;
            colLightXml.Role  = ColumnRole.Value;

            //Build a value column (numeric)
            var col4Xml = new ColumnDefinitionXml();

            col4Xml.Index = 4;
            col4Xml.Role  = ColumnRole.Value;
            col4Xml.Type  = ColumnType.Numeric;

            //Build a ignore column (without info)
            var colIgnoreXml = new ColumnDefinitionXml();

            colIgnoreXml.Index = 5;
            colIgnoreXml.Role  = ColumnRole.Ignore;

            //Add columns to definition
            var cols = new List <ColumnDefinitionXml>();

            cols.Add(colXml);
            cols.Add(colLightXml);
            cols.Add(col4Xml);
            cols.Add(colIgnoreXml);
            xml.columnsDef = cols;

            //get settings
            var settings = xml.GetSettings();

            //Set the columnCount
            settings.ApplyTo(10);

            return(settings);
        }
Example #15
0
        private EqualToXml BuildEqualToXml()
        {
            //Buiding object used during test
            var xml = new EqualToXml();

            //default values/def
            xml.KeyName = "Zero, Three, Six, Seven, Eight";
            //default values/def
            xml.ValueName = "Nine";
            //default values/def
            xml.ValuesDefaultType = ColumnType.Numeric;
            //default tolerance
            xml.Tolerance = "100";

            //Build a value column (numeric, specific tolerance)
            var colXml = new ColumnDefinitionXml();

            colXml.Name      = "One";
            colXml.Role      = ColumnRole.Value;
            colXml.Type      = ColumnType.Numeric;
            colXml.Tolerance = "1";

            //Build a value column (without info)
            var colLightXml = new ColumnDefinitionXml();

            colLightXml.Name = "Two";
            colLightXml.Role = ColumnRole.Value;

            //Build a value column (numeric)
            var col4Xml = new ColumnDefinitionXml();

            col4Xml.Name = "Four";
            col4Xml.Role = ColumnRole.Value;
            col4Xml.Type = ColumnType.Numeric;

            //Build a ignore column (without info)
            var colIgnoreXml = new ColumnDefinitionXml();

            colIgnoreXml.Name = "Five";
            colIgnoreXml.Role = ColumnRole.Ignore;

            //Add columns to definition
            var cols = new List <ColumnDefinitionXml>();

            cols.Add(colXml);
            cols.Add(colLightXml);
            cols.Add(col4Xml);
            cols.Add(colIgnoreXml);
            xml.columnsDef = cols;

            return(xml);
        }
        private EqualToXml BuildEqualToXmlIndex()
        {
            //Buiding object used during test
            var xml = new EqualToXml();

            //default values/def
            xml.KeysDef = SettingsResultSetComparisonByIndex.KeysChoice.AllExpectLast;
            //default values/def
            xml.ValuesDefaultType = ColumnType.Numeric;
            //default tolerance
            xml.Tolerance = "100";

            //Build a value column (numeric, specific tolerance)
            var colXml = new ColumnDefinitionXml();

            colXml.Index     = 1;
            colXml.Role      = ColumnRole.Value;
            colXml.Type      = ColumnType.Numeric;
            colXml.Tolerance = "1";

            //Build a value column (without info)
            var colLightXml = new ColumnDefinitionXml();

            colLightXml.Index = 2;
            colLightXml.Role  = ColumnRole.Value;

            //Build a value column (numeric)
            var col4Xml = new ColumnDefinitionXml();

            col4Xml.Index = 4;
            col4Xml.Role  = ColumnRole.Value;
            col4Xml.Type  = ColumnType.Numeric;

            //Build a ignore column (without info)
            var colIgnoreXml = new ColumnDefinitionXml();

            colIgnoreXml.Index = 5;
            colIgnoreXml.Role  = ColumnRole.Ignore;

            //Add columns to definition
            var cols = new List <ColumnDefinitionXml>();

            cols.Add(colXml);
            cols.Add(colLightXml);
            cols.Add(col4Xml);
            cols.Add(colIgnoreXml);
            xml.columnsDef = cols;

            return(xml);
        }
Example #17
0
        public void GetConstraint_Transformer_CorrectConstraint()
        {
            var sutXmlStubFactory  = new Mock <Systems.ExecutionXml>();
            var itemXmlStubFactory = new Mock <QueryableXml>();

            itemXmlStubFactory.Setup(i => i.GetQuery()).Returns("query");
            sutXmlStubFactory.Setup(s => s.Item).Returns(itemXmlStubFactory.Object);
            var sutXml = sutXmlStubFactory.Object;

            sutXml.Item = itemXmlStubFactory.Object;

            var transformation = Mock.Of <TransformationXml>
                                 (
                t => t.Language == LanguageType.CSharp &&
                t.OriginalType == ColumnType.Text &&
                t.Code == "value.Substring(2)"
                                 );

            var columnDef = Mock.Of <ColumnDefinitionXml>
                            (
                c => c.Index == 1 &&
                c.Role == ColumnRole.Value &&
                c.Type == ColumnType.Text &&
                c.TransformationInner == transformation
                            );

            var ctrXml = new EqualToXml(true);

            ctrXml.Query             = new QueryXml();
            ctrXml.Query.InlineQuery = "select * from Table;";
            Assert.That(ctrXml.ColumnsDef.Count, Is.EqualTo(0));
            ctrXml.columnsDef.Add(columnDef);
            Assert.That(ctrXml.ColumnsDef.Count, Is.EqualTo(1));

            var builder = new ResultSetEqualToBuilder();

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EqualToConstraint>());
            Assert.That(((EqualToConstraint)ctr).TransformationProvider, Is.Not.Null);
        }
Example #18
0
        public void Instantiate_QueryEqualTo_TestCase()
        {
            var sutXml = new ExecutionXml();
            var ctrXml = new EqualToXml();

            var builderMockFactory = new Mock <ITestCaseBuilder>();

            builderMockFactory.Setup(b => b.Setup(sutXml, ctrXml, TestConfiguration.Default, It.IsAny <Dictionary <string, ITestVariable> >()));
            builderMockFactory.Setup(b => b.Build());
            builderMockFactory.Setup(b => b.GetSystemUnderTest()).Returns(new SqlCommand());
            builderMockFactory.Setup(b => b.GetConstraint()).Returns(new EqualToConstraint(null));
            var builder = builderMockFactory.Object;

            var testCaseFactory = new TestCaseFactory();

            testCaseFactory.Register(typeof(ExecutionXml), typeof(EqualToXml), builder);

            var tc = testCaseFactory.Instantiate(sutXml, ctrXml);

            Assert.That(tc, Is.Not.Null);
            builderMockFactory.VerifyAll();
        }
        public void GetSystemUnderTest_ResultSetSystemXml_IResultSetService()
        {
            var sutXmlStub = new Mock <Systems.ResultSetSystemXml>();

            sutXmlStub.Setup(s => s.File).Returns("myFile.csv");
            var sutXml = sutXmlStub.Object;

            var ctrXml = new EqualToXml(SettingsXml.Empty)
            {
                Query = new QueryXml()
                {
                    InlineQuery = "select * from query"
                }
            };

            var builder = new ResultSetEqualToBuilder();

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var sut = builder.GetSystemUnderTest();

            Assert.That(sut, Is.Not.Null);
            Assert.That(sut, Is.InstanceOf <IResultSetService>());
        }