Exemplo n.º 1
0
        public static void ObjectsAreEqual <T>(Expression <Func <string> > json, Expression <Func <T> > object2) where T : class
        {
            var object1     = System.Text.Json.JsonSerializer.Deserialize <T>(json.Compile()());
            var differences = new ObjectsComparer.Comparer <T>().CalculateDifferences(object1, object2.Compile()());

            Assert.IsTrue(differences.IsEmpty(), differences.ToResultTable(json.NameOf(), object2.NameOf()));
        }
            public bool Equals(EventDetailModel x, EventDetailModel y)
            {
                var bandComparer  = new ObjectsComparer.Comparer <BandListModel>();
                var stageComparer = new ObjectsComparer.Comparer <StageListModel>();

                if (ReferenceEquals(x, y))
                {
                    return(true);
                }
                if (ReferenceEquals(x, null))
                {
                    return(false);
                }
                if (ReferenceEquals(y, null))
                {
                    return(false);
                }
                if (x.GetType() != y.GetType())
                {
                    return(false);
                }
                return(Nullable.Equals(x.Start, y.Start) && Nullable.Equals(x.End, y.End) &&
                       x.BandId.Equals(y.BandId) && bandComparer.Compare(x.Band, y.Band) && x.StageId.Equals(y.StageId) &&
                       stageComparer.Compare(x.Stage, y.Stage));
            }
Exemplo n.º 3
0
        public static void Compare <T>(T left, T right, Action <ObjectsComparer.Comparer <T> > setup = null)
        {
            var comparer = new ObjectsComparer.Comparer <T>();

            setup?.Invoke(comparer);

            var different = comparer.Compare(left, right, out var differences);

            if (differences.Any())
            {
                throw new DifferentException(differences);
            }
        }
Exemplo n.º 4
0
        protected virtual T SetProperty <T>(ref T member, T val,
                                            [CallerMemberName] string propertyName = null)
        {
            var comparer = new ObjectsComparer.Comparer <T>();

            IsDirty = member is Guid
                ? IsDirty || ((!Equals(member, Guid.Empty)) && (!comparer.Compare(member, val, out _)))
                : IsDirty || (((member != null && !comparer.Compare(member, val, out _)) || (member == null || val == null)));
            if (Equals(member, val))
            {
                return(member);
            }

            member = val;
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            return(member);
        }
Exemplo n.º 5
0
        public static void ObjectsAreEqual <T>(Expression <Func <T> > object1, Expression <Func <T> > object2) where T : class
        {
            var differences = new ObjectsComparer.Comparer <T>().CalculateDifferences(object1.Compile()(), object2.Compile()());

            Assert.IsTrue(differences.IsEmpty(), differences.ToResultTable(object1.NameOf(), object2.NameOf()));
        }