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