public void GivenAType_WhenMockingAnInstance_ParameterWithDerivedTypeCanBeUsed()
        {
            var parameter = new DerivedTestType();
            var instance  = Mock.TypeWithArguments <TestTypeWithArgs>(parameter);

            Assert.Equal(parameter, instance.OneArg);
        }
        public void AsCast_CorrectInput_ReturnsCastedObject()
        {
            var derivedInstance = new DerivedTestType();

            var baseInstance = derivedInstance.CastAs <TestTypeBase>();

            Assert.NotNull(baseInstance);
            Assert.True(baseInstance is TestTypeBase);
        }