public override void Compare(IComparison <IEventAssignment> comparison)
 {
     _entityDiffBuilder.Compare(comparison);
     CompareValues(x => x.UseAsValue, x => x.UseAsValue, comparison);
     _objectComparer.Compare(comparison.FormulaComparison());
     // Not Nessessary to compare Changed Object.
 }
Example #2
0
 public override void Compare(IComparison <IEventAssignmentBuilder> comparison)
 {
     _entityDiffBuilder.Compare(comparison);
     CompareValues(x => x.UseAsValue, x => x.UseAsValue, comparison);
     CompareValues(x => x.Dimension, x => x.Dimension, comparison);
     _objectComparer.Compare(comparison.FormulaComparison());
 }
Example #3
0
 public override void Compare(IComparison <IObserverBuilder> comparison)
 {
     _entityDiffBuilder.Compare(comparison);
     _moleculeDependentDiffBuilder.Compare(comparison);
     CompareValues(x => x.ContainerCriteria, x => x.ContainerCriteria, comparison);
     CompareValues(x => x.Dimension, x => x.Dimension, comparison);
     _objectComparer.Compare(comparison.FormulaComparison());
 }
Example #4
0
 public override void Compare(IComparison <IEvent> comparison)
 {
     _entityDiffBuilder.Compare(comparison);
     CompareValues(x => x.OneTime, x => x.OneTime, comparison);
     _objectComparer.Compare(comparison.FormulaComparison());
     _enumerableComparer.CompareEnumerables(comparison, x => x.Assignments, item => _entityPathResolver.ObjectPathFor(item.ChangedEntity));
     _enumerableComparer.CompareEnumerables(comparison, x => x.GetChildren <IEntity>(i => !i.IsAnImplementationOf <IEventAssignment>()), item => item.Name);
 }
        public override void Compare(IComparison <IContainer> comparison)
        {
            _entityDiffBuilder.Compare(comparison);

            //compare container specific properties
            CompareValues(x => x.ContainerType, x => x.ContainerType, comparison);
            CompareValues(x => x.Mode, x => x.Mode, comparison);

            _enumerableComparer.CompareEnumerables(comparison, x => x.Children, item => item.Name);
        }
        protected virtual void CompareStartValue(IComparison <T> comparison)
        {
            _entityDiffBuilder.Compare(comparison);
            CompareValues(x => x.Dimension, x => x.Dimension, comparison);
            CompareValues(x => x.ContainerPath, x => x.ContainerPath, comparison);

            // Always Compare Value and Formula, independent from settings as these are two different properties of a start value
            CompareNullableDoubleValues(x => x.StartValue, x => x.StartValue, comparison, x => x.DisplayUnit);
            _objectComparer.Compare(comparison.FormulaComparison());
        }
        public override void Compare(IComparison <IApplicationBuilder> comparison)
        {
            _entityDiffBuilder.Compare(comparison);
            CompareStringValues(x => x.MoleculeName, x => x.MoleculeName, comparison);
            CompareValues(x => x.SourceCriteria, x => x.SourceCriteria, comparison);
            //Special treatment for application moleculer builder, better compare relative container path then name

            //Here we have a special treatment for application molecule builder, find missing by Container Path
            _enumerableComparer.CompareEnumerables(comparison, x => x.Molecules, item => item.RelativeContainerPath);

            // Treat all other children, application molecule builder are ignored
            _enumerableComparer.CompareEnumerables(comparison, getChildrenButMolecules, item => item.Name);
        }
        private void compareQuantities(IComparison <IQuantity> comparison)
        {
            _entityDiffBuilder.Compare(comparison);
            CompareValues(x => x.Dimension, x => x.Dimension, comparison);
            CompareValues(x => x.QuantityType, x => x.QuantityType, comparison);
            CompareValues(x => x.NegativeValuesAllowed, x => x.NegativeValuesAllowed, comparison);

            if (!comparison.Settings.OnlyComputingRelevant)
            {
                CompareValues(x => x.Persistable, x => x.Persistable, comparison);
                CompareValues(x => x.DisplayUnit, Captions.DisplayUnit, comparison);
            }

            if (shouldCompareValues(comparison))
            {
                CompareDoubleValues(x => x.Value, x => x.Value, comparison, x => x.DisplayUnit);
            }
            else
            {
                _objectComparer.Compare(comparison.FormulaComparison());
            }
        }
Example #9
0
 public override void Compare(IComparison <IApplicationMoleculeBuilder> comparison)
 {
     _entityDiffBuilder.Compare(comparison);
     CompareValues(x => x.RelativeContainerPath, x => x.RelativeContainerPath, comparison, Equals, (molecule, path) => path.PathAsString);
     _objectComparer.Compare(comparison.FormulaComparison());
 }