Exemplo n.º 1
0
 public void OneDifferentObjectMemberCausesInequality()
 {
     PAssert.That(() => !FieldwiseEquality.AreEqual(Tuple.Create(1, 2, "3", 4), Tuple.Create(11, 2, "3", 4)));
     PAssert.That(() => !FieldwiseEquality.AreEqual(Tuple.Create(1, 2, "3", 4), Tuple.Create(1, 12, "3", 4)));
     PAssert.That(() => !FieldwiseEquality.AreEqual(Tuple.Create(1, 2, "3", 4), Tuple.Create(1, 2, "13", 4)));
     PAssert.That(() => !FieldwiseEquality.AreEqual(Tuple.Create(1, 2, "3", 4), Tuple.Create(1, 2, "3", 14)));
 }
Exemplo n.º 2
0
 public void TuplesWithTheSameFieldValuesAreEqual()
 {
     //it's important that this is a class not struct instance so we've checked that
     //also, that means we're accessing another assemblies private fields
     PAssert.That(() =>
                  FieldwiseEquality.AreEqual(Tuple.Create(1, 2, "3", 4), Tuple.Create(1, 2, "3", 4)));
 }
Exemplo n.º 3
0
        public void ClassStructFieldsAffectEquality()
        {
            var object1 = new SampleClass {
                PlainStruct = new CustomStruct {
                    Bla = 1
                }
            };
            var object2 = new SampleClass {
                PlainStruct = new CustomStruct {
                    Bla = 2
                }
            };
            var object3A = new SampleClass {
                PlainStruct = new CustomStruct {
                    Bla = 3
                }
            };
            var object3B = new SampleClass {
                PlainStruct = new CustomStruct {
                    Bla = 3
                }
            };

            PAssert.That(() => !FieldwiseEquality.AreEqual(object1, object2));
            PAssert.That(() => FieldwiseEquality.AreEqual(object3A, object3B));
        }
Exemplo n.º 4
0
 public void CanCheckEqualityWithNull()
 {
     PAssert.That(() => !FieldwiseEquality.AreEqual(Tuple.Create(1), null));
     PAssert.That(() => !FieldwiseEquality.AreEqual(null, Tuple.Create(1)));
     PAssert.That(() => FieldwiseEquality.AreEqual <SampleStruct?>(null, null));
     PAssert.That(() => FieldwiseEquality.AreEqual <SampleClass>(null, null));
 }
Exemplo n.º 5
0
        public void NonIdenticalValuesAreNotEqual()
        {
            var a = new SampleSubWithPrivateInherited(1);
            var b = new SampleSubWithPrivateInherited(2);

            PAssert.That(() =>
                         !FieldwiseEquality.AreEqual(a, b) &&
                         !ReferenceEquals(a, b)
                         );
        }
Exemplo n.º 6
0
        public void IdenticalValuesAreEqual()
        {
            var a = new SampleSubWithProtectedInherited(1);
            var b = new SampleSubWithProtectedInherited(1);

            PAssert.That(() =>
                         FieldwiseEquality.AreEqual(a, b) &&
                         !ReferenceEquals(a, b)
                         );
        }
Exemplo n.º 7
0
        public void TypeDoesNotAffectRuntimeEquality()
        {
            var sampleClass = new SampleClass {
                AnEnum = SampleEnum.Q
            };
            var sampleSubClass = new SampleSubClass {
                AnEnum = SampleEnum.Q
            };

            //This is really pretty unwanted behavior
            PAssert.That(() => FieldwiseEquality.AreEqual(sampleClass, sampleSubClass));
        }
Exemplo n.º 8
0
 public void AutoPropsAffectEquality()
 {
     PAssert.That(() => FieldwiseEquality.AreEqual(new SampleClass {
         AutoPropWithPrivateBackingField = "x"
     }, new SampleClass {
         AutoPropWithPrivateBackingField = "x"
     }));
     PAssert.That(() => !FieldwiseEquality.AreEqual(new SampleClass {
         AutoPropWithPrivateBackingField = "x"
     }, new SampleClass {
         AutoPropWithPrivateBackingField = "y"
     }));
 }
Exemplo n.º 9
0
 public void SubClassesVerifyEqualityOfBaseClassFields()
 {
     PAssert.That(() => !FieldwiseEquality.AreEqual(new SampleSubClassWithFields {
         AnEnum = SampleEnum.Q
     }, new SampleSubClassWithFields {
         AnEnum = SampleEnum.P
     }));
     PAssert.That(() => FieldwiseEquality.AreEqual(new SampleSubClassWithFields {
         AnEnum = SampleEnum.Q
     }, new SampleSubClassWithFields {
         AnEnum = SampleEnum.Q
     }));
 }
Exemplo n.º 10
0
 public void StructFieldsAffectEquality()
 {
     PAssert.That(() =>
                  FieldwiseEquality.AreEqual(new SampleClass {
         PlainStruct = { Bla = 1 }
     }, new SampleClass {
         PlainStruct = { Bla = 1 }
     }));
     PAssert.That(() =>
                  !FieldwiseEquality.AreEqual(new SampleClass {
         PlainStruct = { Bla = 1 }
     }, new SampleClass {
         PlainStruct = { Bla = 2 }
     }));
 }
Exemplo n.º 11
0
        public void ClassNullableIntFieldsAffectEquality()
        {
            var object1 = new SampleClass {
                NullableField = null
            };
            var object2 = new SampleClass {
                NullableField = 1
            };

            PAssert.That(() => !FieldwiseEquality.AreEqual(object1, object2));
            PAssert.That(() => FieldwiseEquality.AreEqual(new SampleClass {
                NullableField = 3
            }, new SampleClass {
                NullableField = 3
            }));
        }
Exemplo n.º 12
0
        public void StructIntFieldsAffectEquality()
        {
            var customStruct1 = new CustomStruct {
                Bla = 1
            };
            var customStruct2 = new CustomStruct {
                Bla = 2
            };

            PAssert.That(() => !FieldwiseEquality.AreEqual(customStruct1, customStruct2));
            PAssert.That(() => FieldwiseEquality.AreEqual(new CustomStruct {
                Bla = 3
            }, new CustomStruct {
                Bla = 3
            }));
        }
Exemplo n.º 13
0
 public void StructFieldsAffectEquality()
 {
     //MemberMemberBindings are buggy, so use PlainStruct=new... syntax; ref https://github.com/dotnet/corefx/issues/37968
     PAssert.That(() => FieldwiseEquality.AreEqual(new SampleClass {
         PlainStruct = new CustomStruct {
             Bla = 1
         }
     }, new SampleClass {
         PlainStruct = new CustomStruct {
             Bla = 1
         }
     }));
     PAssert.That(() => !FieldwiseEquality.AreEqual(new SampleClass {
         PlainStruct = new CustomStruct {
             Bla = 1
         }
     }, new SampleClass {
         PlainStruct = new CustomStruct {
             Bla = 2
         }
     }));
 }
Exemplo n.º 14
0
 public void CanCheckEqualityWithNull()
 {
     PAssert.That(() =>
                  !FieldwiseEquality.AreEqual(Tuple.Create(1), null));
 }
Exemplo n.º 15
0
 public void TuplesWithTheSameFieldValuesAreEqual() => PAssert.That(() =>
                                                                    FieldwiseEquality.AreEqual(Tuple.Create(1, 2, "3", 4), Tuple.Create(1, 2, "3", 4))
                                                                    );