public void GenerateConstructorArguments_DefaultConstructorOnly_ReturnsEmptyArray()
        {
            // Arrange
            Type objectType = typeof(PigeonDTO);

            // Act
            ObjectMap map = new ObjectMap(objectType);

            object[] arguments         = map.GenerateConstructorArguments();
            object[] expectedArguments = new object[] { };

            // Assert
            Assert.AreEqual(expectedArguments.Length, arguments.Length, $"{map} failed to return an empty argument array");
        }
        public void GenerateConstructorArguments_SingleConstructorWithParameters_ReturnsArray()
        {
            // Arrange
            Type objectType = typeof(Pigeon);

            // Act
            ObjectMap map = new ObjectMap(objectType);

            object[] arguments         = map.GenerateConstructorArguments();
            object[] expectedArguments = new object[] { null, 0, false, 0, SpecialSkill.ROLLOVER };

            // Assert
            for (int i = 0; i < arguments.Length; i++)
            {
                Assert.AreEqual(expectedArguments[i], arguments[i], $"{arguments[i]} does not match {expectedArguments[i]}");
            }
        }