public void GivenOneType_WhenItOneMatchingParameter_ThenTheCheck_ShouldBePositive()
        {
            var cut        = new ImmutableConverter();
            var canConvert = cut.CanConvert(typeof(TestingNameMatchingTypes.WithOneMatchingParameter));

            canConvert.Should().BeTrue();
        }
        public void GivenOneType_WhenItDoesNotHaveMatchingParameter_ThenTheCheck_ShouldBeNegative()
        {
            var cut        = new ImmutableConverter();
            var canConvert = cut.CanConvert(typeof(TestingNameMatchingTypes.WithOneNonMatchingParameter));

            canConvert.Should().BeFalse();
        }
        public void GivenOneType_WhenItHasOneConstructorWithNoParameter_ThenTheCheck_ShouldBeNegative()
        {
            var cut = new ImmutableConverter();

            cut.CanConvert(typeof(TestingBasicTypes.TypeWithConstructorAndNoParameter)).Should().BeFalse("the original converter provides this functionality");
        }
        public void GivenOneType_WhenItHasTwoConstructors_ThenTheCheck_ShouldBeNegative()
        {
            var cut = new ImmutableConverter();

            cut.CanConvert(typeof(TestingBasicTypes.TypeWithTwoConstructors)).Should().BeFalse("we do not want to support type with only one constructor");
        }