protected IComparisonResult IfThen(IComparisonResult ifResult, IComparisonResult thenResult) => ifResult.Result ? thenResult : ComparisonResult.Success();
 public void Else(IComparisonResult result)
 {
     _elseResult = result;
 }
        public IComparisonConfigurationConstraints <T> When(Func <T, T, bool> comparison, IComparisonResult action)
        {
            _comparisons.Add(new Comparison(comparison, action));

            return(this);
        }
 public Comparison(Func <T, T, bool> comparison, IComparisonResult action)
 {
     _comparison = comparison;
     Result      = action;
 }