Exemplo n.º 1
0
            public void ContainsValidGroupByReturns_TrueIfGroupContainsOnlyValidFieldsOutOfOrder()
            {
                bool ValidateColumn(string s) => false;

                var fields = new [] { "Second Valid", "Another Valid" };

                var groupBy = fields.Select(a => a).OrderBy(a => a).ToArray();

                var(query, fakeValidColumns, fakeClauseFactory) = Builder.InitializeFakeItemsForQueryData(fields, columnIsInvalid: ValidateColumn, groupBy: groupBy);
                var sut = new QueryData(query, fakeValidColumns.Object, fakeClauseFactory.Object, "MY_TABLE");

                Assert.True(sut.ContainsValidGroupBy());
            }
Exemplo n.º 2
0
            public void ContainsValidGroupByReturns_TrueIfGroupByEmpty()
            {
                const string expectedColumnName = "Valid";

                bool ValidateColumn(string s) => false;

                var fields = new [] { expectedColumnName };

                var(query, fakeValidColumns, fakeClauseFactory) = Builder.InitializeFakeItemsForQueryData(fields, columnIsInvalid: ValidateColumn, groupBy: new string[0]);
                var sut = new QueryData(query, fakeValidColumns.Object, fakeClauseFactory.Object, "MY_TABLE");

                Assert.True(sut.ContainsValidGroupBy());
            }
Exemplo n.º 3
0
            public void ContainsValidGroupByReturns_FalseIfGroupContainsMoreThenFieldsAndDistinctIsNull()
            {
                bool ValidateColumn(string s) => false;

                var fields = new [] { "Valid" };

                var groupBy = new [] { "Valid", "Another Valid" };

                var(query, fakeValidColumns, fakeClauseFactory) = Builder.InitializeFakeItemsForQueryData(fields, columnIsInvalid: ValidateColumn, groupBy: groupBy);
                query.Distinct = null;
                var sut = new QueryData(query, fakeValidColumns.Object, fakeClauseFactory.Object, "MY_TABLE");

                Assert.False(sut.ContainsValidGroupBy());
            }
Exemplo n.º 4
0
            public void ContainsValidGroupByReturns_FalseIfGroupContainsAnyInvalidName_AndFieldsContainsOnlyValidNames()
            {
                const string goodName = "Valid";

                bool ValidateColumn(string s) => s != goodName;

                var fields = new [] { goodName };

                var groupBy = new [] { goodName, "Another Valid" };

                var(query, fakeValidColumns, fakeClauseFactory) = Builder.InitializeFakeItemsForQueryData(fields, columnIsInvalid: ValidateColumn, groupBy: groupBy);
                var sut = new QueryData(query, fakeValidColumns.Object, fakeClauseFactory.Object, "MY_TABLE");

                Assert.False(sut.ContainsValidGroupBy());
            }