public void GetTestMethodArgumentsShouldReturnEmptyCollectionGivenTestMethodInfoHasNoParameters()
        {
            // Arrange
            var fixtureMock        = new Mock <IFixture>();
            var testMethodInfoMock = new Mock <ITestMethodInfo>();

            testMethodInfoMock.SetupGet(m => m.ParameterTypes)
            .Returns(Enumerable.Empty <ParameterInfo>());
            var sut = new TestMethodArgumentResolver();

            // Act
            var actual = sut.GetTestMethodArguments(fixtureMock.Object, testMethodInfoMock.Object).ToList();

            // Assert
            Assert.AreEqual(0, actual.Count);
        }
        public void GetTestMethodArgumentsShouldReturnTwoArgumentGivenTestMethodInfoHasTwoParameters()
        {
            // Arrange
            var parameters  = typeof(TestMethodArgumentResolverTests).GetMethod(nameof(TestMethodWithOneParameter)).GetParameters();
            var fixtureMock = new Mock <IFixture>();

            fixtureMock.Setup(m => m.Create(It.IsAny <object>(), It.IsAny <ISpecimenContext>()))
            .Returns("hello");
            var testMethodInfoMock = new Mock <ITestMethodInfo>();

            testMethodInfoMock.SetupGet(m => m.ParameterTypes)
            .Returns(parameters);
            var sut = new TestMethodArgumentResolver();

            // Act
            var actual = sut.GetTestMethodArguments(fixtureMock.Object, testMethodInfoMock.Object).ToList();

            // Assert
            Assert.AreEqual(2, actual.Count);
        }