示例#1
0
        public static void AssertEqual(SelectClause expected, SelectClause actual)
        {
            expected.Switch(
                expectedStar =>
            {
                Assert.True(actual.IsT0, $"Expected '*' but got '{actual}' instead");
            },
                expectedList =>
            {
                Assert.True(actual.IsT1, $"Expected '{expected}' but got '{actual}' instead");
                var actualList = actual.AsT1;

                Assert.Equal(expectedList.Columns.Count, actualList.Columns.Count);

                for (var i = 0; i < expectedList.Columns.Count; i++)
                {
                    var expectedColumn = expectedList.Columns[i];
                    var actualColumn   = actualList.Columns[i];

                    Assert.Equal(expectedColumn.Expression, actualColumn.Expression);
                    Assert.Equal(expectedColumn.Alias, actualColumn.Alias);
                }
            }
                );
        }