/// <summary>
 /// Initializes a new instance of the <see cref="ComparisonResult"/> class.
 /// </summary>
 /// <param name="comparisonState">State of comparison.</param>
 /// <param name="differences">A collection of differences.</param>
 public ComparisonResult(ComparisonState comparisonState, IEnumerable<DataDifference> differences)
 {
     ComparisonState = comparisonState;
     if (differences != null)
     {
         Differences = differences.ToList();
     }
 }
Example #2
0
        public static bool?Equal(object x, object y, ref Tolerance tolerance, ComparisonState state, NUnitEqualityComparer equalityComparer)
        {
            if (!Numerics.IsNumericType(x) || !Numerics.IsNumericType(y))
            {
                return(null);
            }

            return(Numerics.AreEqual(x, y, ref tolerance));
        }
Example #3
0
        public override TaskResult Execute()
        {
            var failure_type = StopExecution ? ResultType.StopExecution : ResultType.Failure;
            var unit         = UnitRegistry.GetUnit(TargetUnit);

            if (unit == null)
            {
                return(new TaskResult(this, failure_type, $"Unit {TargetUnit} is not loaded."));
            }

            var state = unit.CurrentState;

            if (ComparisonState.HasFlag(state) || ComparisonState == UnitState.Any)
            {
                return(new TaskResult(this, ResultType.Success));
            }

            return(new TaskResult(this, failure_type, $"Expected {TargetUnit} to be Active, it was instead {state}"));
        }
Example #4
0
        internal bool AreEqual(object x, object y, ref Tolerance tolerance, ComparisonState state)
        {
            this._failurePoints = new List <FailurePoint>();

            if (x == null && y == null)
            {
                return(true);
            }

            if (x == null || y == null)
            {
                return(false);
            }

            if (object.ReferenceEquals(x, y))
            {
                return(true);
            }

            if (state.DidCompare(x, y))
            {
                return(false);
            }

            EqualityAdapter externalComparer = GetExternalComparer(x, y);

            if (externalComparer != null)
            {
                return(externalComparer.AreEqual(x, y));
            }

            foreach (EqualMethod equalMethod in _comparers)
            {
                bool?result = equalMethod(x, y, ref tolerance, state, this);
                if (result.HasValue)
                {
                    return(result.Value);
                }
            }

            return(x.Equals(y));
        }
        private static void MatchKeys <T>(Dictionary <T, List <CarfupStep> > stepGrouping, Dictionary <T, List <CarfupStep> > otherStepGrouping, Dictionary <T, List <CarfupStep> > matchedDict, Dictionary <T, List <CarfupStep> > missingDict, ComparisonState noMatchFound)
        {
            foreach (var steps in stepGrouping)
            {
                var dict = missingDict;

                if (otherStepGrouping.ContainsKey(steps.Key))
                {
                    dict = matchedDict;
                }
                else
                {
                    foreach (var step in steps.Value)
                    {
                        step.State = noMatchFound;
                    }
                }

                dict.Add(steps.Key, steps.Value);
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ComparisonResult"/> class.
 /// </summary>
 /// <param name="comparisonState">State of comparison.</param>
 public ComparisonResult(ComparisonState comparisonState)
     : this(comparisonState, null)
 {
 }
Example #7
0
 public ComparedData(Data data, ComparisonState comparisonState, int previousAmount)
 {
     Data            = data;
     ComparisonState = comparisonState;
     PreviousAmount  = previousAmount;
 }