예제 #1
0
        public void GetAdapterType_should_be_equivalent_to_name_adapters_or_use_builder_attribute()
        {
            Type correct = typeof(ABuilder3);

            // Using the BuilderAttribute
            Assert.Equal(correct, Adaptable.GetBuilderType(typeof(A)));
            Assert.Equal(correct, Adaptable.GetAdapterType(typeof(A), "Builder"));

            // Using the AdapterAttribute
            Assert.Equal(correct, Adaptable.GetBuilderType(typeof(B)));
            Assert.Equal(correct, Adaptable.GetAdapterType(typeof(B), "Builder"));
        }
예제 #2
0
        public void GetBuilderType_prevents_builder_type_that_specifies_builder_Type()
        {
            var result = Adaptable.GetBuilderType(typeof(D));

            Assert.Null(result);
        }
예제 #3
0
 public void GetBuilderType_should_apply_implicitly_builder()
 {
     Assert.Equal(typeof(EBuilder), Adaptable.GetBuilderType(typeof(E)));
 }
예제 #4
0
        public void GetBuilderType_can_use_derived_builder_class()
        {
            var result = Adaptable.GetBuilderType(typeof(H));

            Assert.Equal(typeof(HBuilder), result);
        }
예제 #5
0
        public void GetBuilderType_ensures_cannot_use_self_as_builder_adapter()
        {
            var result = Adaptable.GetBuilderType(typeof(C));

            Assert.Null(result);
        }