public void ItCanAcceptAJoinToASelectStatement()
        {
            const string expectedText = "INNER JOIN {0} ON ({1} = ({2}))\r\n";

            var statement = new Select()
                [
                    SecondColumn.Top(1)
                ].From(SecondTable);

            new InnerJoin()
                [
                    FirstTable.On(FirstColumn.Matches(statement))
                ]
                .Should()
                .Be(string.Format(expectedText, FirstTable, FirstColumn, statement));
        }
        public void ItCanContainAnInStatementWithASubQuery()
        {
            const string clause = "WHERE {0} IN (SELECT {1} FROM {2})";

            var innerSelect =
                new Select()
                    [
                        SecondColumn
                    ].From(SomeTable);

            new Where()
                [
                    FirstColumn.In(innerSelect)
                ]
                .Should()
                .Be(string.Format(clause, FirstColumn, SecondColumn, SomeTable));
        }