public void TestAutoIncrementObjNotApplicable() { MockBO bo = new MockBO(); InsertStatementGenerator gen = new InsertStatementGenerator(bo, DatabaseConnection.CurrentConnection); var statementCol = gen.Generate(); InsertSqlStatement statement = (InsertSqlStatement)statementCol.First(); Assert.AreEqual(null, statement.SupportsAutoIncrementingField); }
public void TestSqlStatementTableName() { MockBO bo = new MockBO(); InsertStatementGenerator gen = new InsertStatementGenerator(bo, DatabaseConnection.CurrentConnection); var statementCol = gen.Generate(); InsertSqlStatement statement = (InsertSqlStatement)statementCol.First(); Assert.AreEqual("MockBO", statement.TableName); }
public void TestAutoIncrementObj() { ClassDef.ClassDefs.Clear(); TestAutoInc.LoadClassDefWithAutoIncrementingID(); TestAutoInc bo = new TestAutoInc(); InsertStatementGenerator gen = new InsertStatementGenerator(bo, DatabaseConnection.CurrentConnection); var statementCol = gen.Generate(); InsertSqlStatement statement = (InsertSqlStatement)statementCol.First(); Assert.AreSame(typeof(SupportsAutoIncrementingFieldBO), statement.SupportsAutoIncrementingField.GetType()); }
public void TestInsertStatementExcludesReadOnlyProps() { ClassDef.ClassDefs.Clear(); const string newPropName = "NewProp"; MockBO bo = StatementGeneratorTestHelper.CreateMockBOWithExtraReadOnlyProp(newPropName); InsertStatementGenerator gen = new InsertStatementGenerator(bo, DatabaseConnection.CurrentConnection); var statementCol = gen.Generate(); InsertSqlStatement statement = (InsertSqlStatement)statementCol.First(); Assert.IsFalse(statement.Statement.ToString().Contains(newPropName)); }
public void VerifyGenerateFromModel() { // Arrange var people = new[] { new PersonModel { FirstName = "Johnny", LastName = "Appleseed", Age = 24, Gender = PersonGender.Male, IsDead = false }, new PersonModel { FirstName = "Alberta", LastName = "Pearseed", Age = 103, Gender = PersonGender.Female, IsDead = true } }; // Act var statement = InsertSqlStatement.Generate("People", people); var query = statement.GenerateQuery(); // Assert var expected = $@" INSERT INTO People (FirstName, LastName, Age, Gender, IsDead) VALUES ('Johnny', 'Appleseed', 24, 1, 0), ('Alberta', 'Pearseed', 103, 2, 1); "; foreach (var c in Environment.NewLine) { expected = expected.Trim(c); } foreach (var c in Environment.NewLine) { expected = expected.Trim(c); } query.ShouldBe(expected); }
public void VerifyGenerateRawData() { // Arrange var statement = new InsertSqlStatement("MagicTable"); const string Column1 = "Column_1"; const string Column2 = "Column_2"; const string Column3 = "Magical_arbitrary_column"; statement.Columns.AddRange(new[] { Column1, Column2, Column3 }); statement.Rows.AddRange(new[] { new List <object> { "Data 1", 24, true }, new List <object> { "Cool 2", 42, false } }); // Act var query = statement.GenerateQuery(); // Assert var expected = $@" INSERT INTO MagicTable ({Column1}, {Column2}, {Column3}) VALUES ('Data 1', 24, 1), ('Cool 2', 42, 0); "; foreach (var c in Environment.NewLine) { expected = expected.Trim(c); } foreach (var c in Environment.NewLine) { expected = expected.Trim(c); } query.ShouldBe(expected); }
public void VerifyInsertWithNullValues() { // Arrange var statement = new InsertSqlStatement("My_magic_table"); statement.Columns.AddRange(new[] { "Column A", "Column B", "Column C" }); statement.Rows.Add(new List <object> { "Value A", 123, null }); // Act string generatedQuery = null; Should.NotThrow(() => generatedQuery = statement.GenerateQuery()); // Assert string.IsNullOrEmpty(generatedQuery).ShouldBeFalse(); }
public void TestAutoIncrementAfterInsert() { // MockRepository mockRepository = new MockRepository(); MockSupportsAutoIncrementingID mockSupportsAutoIncrementingID = new MockSupportsAutoIncrementingID(); InsertSqlStatement sql = new InsertSqlStatement(DatabaseConnection.CurrentConnection, "insert into testautoinc (testfield) values ('testing')"); sql.TableName = "testautoinc"; sql.SupportsAutoIncrementingField = mockSupportsAutoIncrementingID; DatabaseConnection.CurrentConnection.ExecuteSql(sql); long maxNum = 0; using (IDataReader reader = DatabaseConnection.CurrentConnection.LoadDataReader("select max(testautoincid) from testautoinc")) { while (reader.Read()) { maxNum = reader.GetInt64(0); } } Assert.AreEqual(maxNum, mockSupportsAutoIncrementingID.AutoValue); }