private MsBuildXmlProjectImplementation CreateProjectWithMockedContent()
        {
            MsBuildXmlProjectImplementation projectImplementation =
                new MsBuildXmlProjectImplementation(CreateFromString("<Project></Project>"));

            for (int i = 1; i <= 10; i++)
            {
                Mock <IMsBuildTarget> targetMock = new Mock <IMsBuildTarget>();
                targetMock.Setup(t => t.Name).Returns($"Target{i}");
                projectImplementation.Add(targetMock.Object);
            }

            return(projectImplementation);
        }
        public void CopyTo_Array_ShouldCopyAllValuesToArray()
        {
            string inputValue = "<Project></Project>";

            IMsBuildTarget[] array = new IMsBuildTarget[20];

            MsBuildXmlProjectImplementation projectImplementation =
                new MsBuildXmlProjectImplementation(CreateFromString(inputValue));

            for (int i = 0; i <= 10; i++)
            {
                Mock <IMsBuildTarget> mock = new Mock <IMsBuildTarget>();
                mock.Setup(m => m.Name).Returns($"Target{i}");

                projectImplementation.Add(mock.Object);
            }

            projectImplementation.CopyTo(array, 0);

            Assert.AreEqual("Target0", array[0].Name);
        }