Пример #1
0
        public void NullAndNotNullNotEquals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o = new ProxyGeneratorOptions();

            Assert.AreEqual(false, comparer.Equals(o, null));
            Assert.AreEqual(false, comparer.Equals(null, o));
        }
Пример #2
0
        public void EmptyOptionsEquals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();
            var o2 = new ProxyGeneratorOptions();

            Assert.AreEqual(true, comparer.Equals(o1, o2));
        }
Пример #3
0
        public void MixinNumberNotEquals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.AddMixinInstance(new TypeITD());
            var o2 = new ProxyGeneratorOptions();

            Assert.AreEqual(false, comparer.Equals(o1, o2));
        }
Пример #4
0
        public void SameMxinsTypeNotEquals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.AddMixinInstance(new TypeITD());
            var o2 = new ProxyGeneratorOptions();

            o2.AddMixinInstance(new TypeITD());
            Assert.AreEqual(true, comparer.Equals(o1, o2));
        }
Пример #5
0
        public void InterceptorSelector_Same_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.InterceptorSelector = new MYInterceptorSelectorMock();
            var o2 = new ProxyGeneratorOptions();

            o2.InterceptorSelector = new MYInterceptorSelectorMock();

            Assert.AreEqual(true, comparer.Equals(o1, o2));
        }
Пример #6
0
        public void ServiceProvider_Same_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.InterceptableMethodBuilder = new InterceptableMethodBuilderMock1();
            var o2 = new ProxyGeneratorOptions();

            o2.InterceptableMethodBuilder = new InterceptableMethodBuilderMock1();

            Assert.AreEqual(true, comparer.Equals(o1, o2));
        }
Пример #7
0
        public void Constructor_Not_Same__Not_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.ConstructorSelector = new ConstructorSelectorMock1();
            var o2 = new ProxyGeneratorOptions();

            o2.ConstructorSelector = new ConstructorSelectorMock2();

            Assert.AreEqual(false, comparer.Equals(o1, o2));
        }
Пример #8
0
        public void AdditonalCode_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.AdditionalCode = new AdditionalCodeMock1();
            var o2 = new ProxyGeneratorOptions();

            o2.AdditionalCode = new AdditionalCodeMock1();

            Assert.AreEqual(true, comparer.Equals(o1, o2));
        }
Пример #9
0
        public void AdditonalTypeAttributes_Same_Count_Same_Attributes_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.AdditionalTypeAttributes.Add(new CustomAttributeDefinition(typeof(MyAttribute).GetConstructors()[0], new object[0]));
            var o2 = new ProxyGeneratorOptions();

            o2.AdditionalTypeAttributes.Add(new CustomAttributeDefinition(typeof(MyAttribute).GetConstructors()[0], new object[0]));

            Assert.AreEqual(true, comparer.Equals(o1, o2));
        }
Пример #10
0
        public void MemberSelector_Same_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.ClassProxyMemberSelector = new ClassProxyMemberSelectorMock1();
            var o2 = new ProxyGeneratorOptions();

            o2.ClassProxyMemberSelector = new ClassProxyMemberSelectorMock1();

            Assert.AreEqual(true, comparer.Equals(o1, o2));
        }
Пример #11
0
        public void InterceptorSelector_Null_And_Not_Null_Not_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.InterceptorSelector = new MYInterceptorSelectorMock();
            var o2 = new ProxyGeneratorOptions();

            Assert.AreEqual(false, comparer.Equals(o1, o2));

            var o3 = new ProxyGeneratorOptions();
            var o4 = new ProxyGeneratorOptions();

            o4.InterceptorSelector = new MYInterceptorSelectorMock();
            Assert.AreEqual(false, comparer.Equals(o3, o4));
        }
Пример #12
0
        public void ServiceProvider_Null_And_Not_Null_Not_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.InterceptableMethodBuilder = new InterceptableMethodBuilderMock1();
            var o2 = new ProxyGeneratorOptions();

            Assert.AreEqual(false, comparer.Equals(o1, o2));

            var o3 = new ProxyGeneratorOptions();
            var o4 = new ProxyGeneratorOptions();

            o4.InterceptableMethodBuilder = new InterceptableMethodBuilderMock1();
            Assert.AreEqual(false, comparer.Equals(o3, o4));
        }
Пример #13
0
        public void AdditonalCode_Null_And_Not_Null_Not_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.AdditionalCode = new AdditionalCodeMock1();
            var o2 = new ProxyGeneratorOptions();

            Assert.AreEqual(false, comparer.Equals(o1, o2));

            var o3 = new ProxyGeneratorOptions();
            var o4 = new ProxyGeneratorOptions();

            o4.AdditionalCode = new AdditionalCodeMock1();
            Assert.AreEqual(false, comparer.Equals(o3, o4));
        }
Пример #14
0
        public void MemberSelector_Null_And_Not_Null_Not_Equals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            var o1 = new ProxyGeneratorOptions();

            o1.ClassProxyMemberSelector = new ClassProxyMemberSelectorMock1();
            var o2 = new ProxyGeneratorOptions();

            Assert.AreEqual(false, comparer.Equals(o1, o2));

            var o3 = new ProxyGeneratorOptions();
            var o4 = new ProxyGeneratorOptions();

            o4.ClassProxyMemberSelector = new ClassProxyMemberSelectorMock1();
            Assert.AreEqual(false, comparer.Equals(o3, o4));
        }
Пример #15
0
        public void Return_Same_TypeDefinition_With_Same_Type_And_Same_Target_Type_And_Same_Options()
        {
            var moduleDefinition = new ModuleDefinition();

            var target = typeof(TypeM1);
            var o      = new ProxyGeneratorOptions();

            o.AddMixinInstance(new MyMixin());

            var typeDefinition = moduleDefinition.GetTypeDefinition(typeof(TypeM1), target, o);

            Assert.AreEqual(TypeDefinitionType.ClassProxy, typeDefinition.TypeDefinitionType);
            Assert.AreEqual(typeof(ClassProxyDefinition), typeDefinition.GetType());
            Assert.AreEqual(typeof(TypeM1), typeDefinition.Type);
            Assert.AreEqual(target, typeDefinition.TargetType);

            Assert.AreEqual(1, moduleDefinition.TypeDefinitions.Count);
            Assert.AreEqual(typeDefinition, moduleDefinition.TypeDefinitions[0]);

            // returns same type definition for same type with same target type or null and same options

            var target2 = typeof(TypeM1);
            var o2      = new ProxyGeneratorOptions();

            o2.AddMixinInstance(new MyMixin());

            var typeDefinition2 = moduleDefinition.GetTypeDefinition(typeof(TypeM1), target2, o2);

            Assert.AreEqual(TypeDefinitionType.ClassProxy, typeDefinition2.TypeDefinitionType);
            Assert.AreEqual(typeof(ClassProxyDefinition), typeDefinition2.GetType());
            Assert.AreEqual(typeof(TypeM1), typeDefinition2.Type);
            Assert.AreEqual(target2, typeDefinition2.TargetType);

            var comparer = new ProxyGeneratorOptionsComparer();

            Assert.AreEqual(true, comparer.Equals(o2, typeDefinition2.Options));


            Assert.AreEqual(typeDefinition2, typeDefinition);
            Assert.AreEqual(1, moduleDefinition.TypeDefinitions.Count);
            Assert.AreEqual(typeDefinition, moduleDefinition.TypeDefinitions[0]);
        }
Пример #16
0
 public TypeDefinitionCollection()
 {
     items    = new List <ProxyTypeDefinition>();
     comparer = new ProxyGeneratorOptionsComparer();
 }
Пример #17
0
        public void NullEquals()
        {
            var comparer = new ProxyGeneratorOptionsComparer();

            Assert.AreEqual(true, comparer.Equals(null, null));
        }