Esempio n. 1
0
        public void MemberInfoSlimEqualityComparer_Method_Simple()
        {
            var tq = new TypeSlimEqualityComparer();
            var eq = new MemberInfoSlimEqualityComparer(tq);

            var asm = new AssemblySlim("foo");

            var tp1 = TypeSlim.Simple(asm, "bar");

            var i4 = typeof(int).ToTypeSlim();
            var i8 = typeof(long).ToTypeSlim();

            var args0 = new List <TypeSlim> {
                i4, i8
            }.AsReadOnly();
            var args1 = new List <TypeSlim> {
                i4
            }.AsReadOnly();
            var args2 = new List <TypeSlim> {
                i8, i4
            }.AsReadOnly();
            var args3 = new List <TypeSlim> {
                i4, i8, i4
            }.AsReadOnly();

            var mtd_0_i4i8_i4_0 = new SimpleMethodInfoSlim(tp1, "Qux0", args0, i4);
            var mtd_0_i4i8_i4_1 = new SimpleMethodInfoSlim(tp1, "Qux0", args0, i4);

            var mtd_0_i4i8_i8_0 = new SimpleMethodInfoSlim(tp1, "Qux0", args0, i8);
            var mtd_0_i4i8_i8_1 = new SimpleMethodInfoSlim(tp1, "Qux0", args0, i8);

            var mtd_0_i4_i4_0     = new SimpleMethodInfoSlim(tp1, "Qux0", args1, i4);
            var mtd_0_i8i4_i4_0   = new SimpleMethodInfoSlim(tp1, "Qux0", args2, i4);
            var mtd_0_i4i8i4_i4_0 = new SimpleMethodInfoSlim(tp1, "Qux0", args3, i4);

            Assert.IsTrue(eq.Equals(mtd_0_i4i8_i4_0, mtd_0_i4i8_i4_0));
            Assert.IsTrue(eq.Equals(mtd_0_i4i8_i4_0, mtd_0_i4i8_i4_1));
            Assert.IsTrue(eq.Equals(mtd_0_i4i8_i4_1, mtd_0_i4i8_i4_0));

            Assert.IsTrue(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4i8_i8_0));
            Assert.IsTrue(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4i8_i8_1));
            Assert.IsTrue(eq.Equals(mtd_0_i4i8_i8_1, mtd_0_i4i8_i8_0));

            Assert.IsFalse(eq.Equals(mtd_0_i4i8_i4_0, mtd_0_i4i8_i8_0));
            Assert.IsFalse(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4i8_i4_0));

            Assert.IsFalse(eq.Equals(mtd_0_i4_i4_0, mtd_0_i4i8_i8_0));
            Assert.IsFalse(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4_i4_0));

            Assert.IsFalse(eq.Equals(mtd_0_i8i4_i4_0, mtd_0_i4i8_i8_0));
            Assert.IsFalse(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i8i4_i4_0));

            Assert.IsFalse(eq.Equals(mtd_0_i4i8i4_i4_0, mtd_0_i4i8_i8_0));
            Assert.IsFalse(eq.Equals(mtd_0_i4i8_i8_0, mtd_0_i4i8i4_i4_0));

            Assert.AreEqual(eq.GetHashCode(mtd_0_i4i8_i4_0), eq.GetHashCode(mtd_0_i4i8_i4_0));
            Assert.AreEqual(eq.GetHashCode(mtd_0_i4i8_i4_0), eq.GetHashCode(mtd_0_i4i8_i4_1));
            Assert.AreEqual(eq.GetHashCode(mtd_0_i4i8_i4_1), eq.GetHashCode(mtd_0_i4i8_i4_1));
        }
Esempio n. 2
0
 protected override int VisitSimpleMethod(SimpleMethodInfoSlim method) => Combine((int)method.MemberType, Visit(method.DeclaringType), Visit(method.ReturnType), Visit(method.Name), Visit(method.ParameterTypes));
 protected override int VisitSimpleMethod(SimpleMethodInfoSlim method) => throw new NotImplementedException();
Esempio n. 4
0
 private static void AssertAreSameSimpleMethod(MethodInfo methodInfo, SimpleMethodInfoSlim simpleMethodInfoSlim)
 {
     Assert.AreEqual(methodInfo.Name, simpleMethodInfoSlim.Name);
 }
Esempio n. 5
0
 public SimpleMethodDef(TypeRef declaringType, SimpleMethodInfoSlim method, TypeRef returnType, params TypeRef[] parameters)
     : base(declaringType, method, returnType, parameters)
 {
 }