public void InsertValuesAsText() { var query = SQLInsertBuilder .InsertAt("Foo") .Values("A", "B", "C") .As(DataType.Text, DataType.Text, DataType.Text) .Build(); var expected = "INSERT INTO Foo VALUES ('A', 'B', 'C')"; Assert.True(query.Equals(expected), $"Error: '{query}' is different from '{expected}'"); }
public void InsertValuesFromDifferentTypesAndEspecifyingColumns() { var query = SQLInsertBuilder .InsertAt("TABLE") .Values("fOO1", "FOO2", "FOO3") .AtColumns("COLUMN1", "COLUMN2", "COLUMN3") .As(DataType.NonText, DataType.NonText, DataType.NonText) .Build(); var expected = "INSERT INTO TABLE (COLUMN1, COLUMN2, COLUMN3) VALUES (fOO1, FOO2, FOO3)"; Assert.True(query.Equals(expected), $"Error: '{query}' is different from '{expected}'"); }
public void TryToInsertValuesMismatchingValuesAndTypesSizes() { Assert.Throws <ArgumentOutOfRangeException>( () => { SQLInsertBuilder .InsertAt("Foo") .Values("A", "B") .As(DataType.Text, DataType.NonText, DataType.Text) .Build(); } ); Assert.Throws <ArgumentOutOfRangeException>( () => { SQLInsertBuilder .InsertAt("Foo") .Values("A", "B", "C") .As(DataType.Text, DataType.NonText) .Build(); } ); Assert.Throws <ArgumentOutOfRangeException>( () => { SQLInsertBuilder .InsertAt("Foo") .Values("A", "B", "C") .AtColumns("FOO1", "FOO2") .As(DataType.Text, DataType.NonText, DataType.Text) .Build(); } ); Assert.Throws <ArgumentOutOfRangeException>( () => { SQLInsertBuilder .InsertAt("Foo") .Values("A", "B") .AtColumns("FOO1", "FOO2", "FOO3") .As(DataType.Text, DataType.NonText) .Build(); } ); }