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); }