public void ItCreatesANewUpdateWhenTheConnectionStringIsSet()
        {
            var original = new Update(SomeTable)[FirstColumn.WillBe(FirstValue)];
            var record = original.ConnectTo("A");

            original.Should().NotBe(record);
        }
        public void ItCreatesANewUpdateWhenAWhereClauseIsAdded()
        {
            var original = new Update(SomeTable)[FirstColumn.WillBe(FirstValue)];
            var record = original.Where(new Where());

            original.Should().NotBe(record);
        }
        public void ItCreatesANewUpdateWhenTheColumnsAreSet()
        {
            var original = new Update(SomeTable)[FirstColumn.WillBe(FirstValue)];
            var record = original[SecondColumn.WillBe("")];

            original.Should().NotBe(record);
        }
        public void ItCreatesACorrectQueryWithAWhereClause()
        {
            const string query = BasicQuery + " WHERE {1} = @{1}{3}";

            var firstColumnIsEqualToFirstValue = new Where()
                [
                    FirstColumn.IsEqualTo(FirstValue)
                ];

            var whereItems = WhereDeconstruction.RetrieveTheWhereItemUniqueNames(firstColumnIsEqualToFirstValue).First();

            var finalSql =
                new Update(SomeTable)
                    [
                        FirstColumn.WillBe(FirstValue),
                        SecondColumn.WillBe(SecondValue)
                    ]
                    .Where(firstColumnIsEqualToFirstValue)
                    .CreateSql();

            finalSql.Should().Be(string.Format(query, SomeTable, FirstColumn, SecondColumn, whereItems));
        }