public void CanFindCorrectConversionConstructorWith2Levels()
        {
            var ctors = new ConversionConstructors();
            var ctor = ctors.MakeConversionPlan(typeof(Type3));

            var obj = ctor.Converter(2);
            obj.Should().Be.OfType<Type3>()
                .And.ValueOf.a1.ok.Should().Be.True();
        }
        public void CanFindCorrectConversionConstructorWith2Levels()
        {
            var ctors = new ConversionConstructors();
            var ctor  = ctors.MakeConversionPlan(typeof(Type3));

            var obj = ctor.Converter(2);

            obj.Should().Be.OfType <Type3>()
            .And.ValueOf.a1.ok.Should().Be.True();
        }
 public void ReturnsNullWhenNoGoodConstructorFound()
 {
     var ctors = new ConversionConstructors();
     var ctor = ctors.MakeConversionPlan(typeof(Type2));
     ctor.Should().Be.Null();
 }