コード例 #1
0
 public void Compare_1DecimalAnd2dot5String_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(new decimal(1), "2.5", 1, SideTolerance.Both);
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #2
0
 public void Compare_1DecimalAndValue_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(new decimal(1), "(value)", 1, SideTolerance.Both);
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #3
0
 public void Compare_TwelveToIntervalTenToFourteen_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(12, "[10;14]");
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #4
0
 public void Compare_TwelveToIntervalTenToTwelveOpen_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare("[10;12[", 12);
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #5
0
 public void Compare_TwelveToIntervalNegativeInfinityToFourteen_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare("[-inf;14]", 12);
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #6
0
 public void Compare_TwelveToIntervalPositive_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare("(positive)", 12);
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #7
0
 public void Compare_NullAndNullPlaceHolder_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(null, "(null)", 1, SideTolerance.Both);
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #8
0
 public void Compare_1DecimalAnd1String_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(new decimal(1), "1.0");
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #9
0
 public void Compare_NullAnd1Decimal_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(null, new decimal(1), 1, SideTolerance.Both);
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #10
0
 public void Compare_NullAndAny_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(null, "(any)", 1, SideTolerance.Both);
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #11
0
 public void Compare_NonValidPercentageForTolerance_ArgumentException()
 {
     var comparer = new NumericComparer();
     Assert.Throws<ArgumentException>(delegate { comparer.Compare(12, 11, "1,1%"); });
 }
コード例 #12
0
 public void Compare_NonNumericAndAny_FormatException()
 {
     var comparer = new NumericComparer();
     Assert.Throws<FormatException>(delegate { comparer.Compare("string", "(any)", 1, SideTolerance.Both); });
 }
コード例 #13
0
 public void Compare_MinusTwelveToMinusElevenWithOnePercentAndMinDotFive_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(-12, -11, "1% (min 0.5)");
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #14
0
 public void Compare_MinusTwelveToMinusElevenWithAToleranceOfOnePercent_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(-12, -11, "1%");
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #15
0
 public void Compare_NullAndValue_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(null, "(value)", 1, SideTolerance.Both);
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #16
0
 public void Compare_TwelveToIntervalGreaterOrEqualToEighteen_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare("(>=18)", 12);
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #17
0
 public void Compare_SevenAndFiveWithLessThanFifty_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(7, 5, "-50");
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #18
0
 public void Compare_TwelveToIntervalLessThanEighteen_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare("(<18)", 12);
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #19
0
 public void Compare_SevenAndFiveWithMoreThanFifty_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(7, 5, "+50");
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #20
0
 public void Compare_TwelveToIntervalPositiveSymbol_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare("(0+)", -12);
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #21
0
 public void Compare_TwelveToElevenWithAToleranceOFTenPercent_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(12, 11, "10%");
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #22
0
 public void Compare_TwelveToIntervalTenHalfToFourteenHalf_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare("]10.5;14.5]", 12);
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #23
0
 public void Compare_TwelveToElevenWithHundredPercentAndMaxDotFive_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(12, 11, "100% (max 0.5)");
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #24
0
 public void Compare_TwelveToIntervalTenToTwelveClosed_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare("[10;12]", 12);
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #25
0
 public void Compare_TwelveToElevenWithHundredPercentAndMaxTwo_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(12, 11, "100% (max 2)");
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #26
0
 public void Compare_TwelveToIntervalTwelveOpenToFourteen_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare("]12;14]", 12);
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #27
0
 public void Compare_TwelveToElevenWithOnePercentAndMinTwo_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(12, 11, "1% (min 2)");
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #28
0
 public void Compare_1DecimalAnd2String_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(new decimal(1), "2.0");
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #29
0
 public void Compare_TwelveToElevenWithTenPercentAndMinDotFive_True()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(12, 11, "10% (min 0.5)");
     Assert.That(result.AreEqual, Is.True);
 }
コード例 #30
0
 public void Compare_FiveAndSevenWithLessThanFiftyPercent_False()
 {
     var comparer = new NumericComparer();
     var result = comparer.Compare(5, 7, "-50%");
     Assert.That(result.AreEqual, Is.False);
 }
コード例 #31
0
ファイル: CellComparer.cs プロジェクト: WimDeRons/NBi
 public ComparerResult Compare(object x, object y, ColumnType columnType, Tolerance tolerance, Rounding rounding)
 {
     //Any management
     if (x.ToString() != "(any)" && y.ToString() != "(any)")
     {
         //Null management
         if (DBNull.Value.Equals(x))
         {
             if (!DBNull.Value.Equals(y) && y.ToString() != "(null)" && y.ToString() != "(blank)")
             {
                 return(new ComparerResult("(null)"));
             }
         }
         else if (DBNull.Value.Equals(y))
         {
             if (!DBNull.Value.Equals(x) && x.ToString() != "(null)" && x.ToString() != "(blank)")
             {
                 return(new ComparerResult(x.ToString()));
             }
         }
         //(value) management
         else if (x.ToString() == "(value)" || y.ToString() == "(value)")
         {
             if (DBNull.Value.Equals(x) || DBNull.Value.Equals(y))
             {
                 return(new ComparerResult(DBNull.Value.Equals(y) ? "(null)" : x.ToString()));
             }
         }
         //Not Null management
         else
         {
             //Numeric
             if (columnType == ColumnType.Numeric)
             {
                 //Convert to decimal
                 if (rounding != null)
                 {
                     return(numericComparer.Compare(x, y, rounding));
                 }
                 else
                 {
                     return(numericComparer.Compare(x, y, tolerance));
                 }
             }
             //Date and Time
             else if (columnType == ColumnType.DateTime)
             {
                 //Convert to dateTime
                 if (rounding != null)
                 {
                     return(dateTimeComparer.Compare(x, y, rounding));
                 }
                 else if (tolerance != null && tolerance != DateTimeTolerance.None)
                 {
                     return(dateTimeComparer.Compare(x, y, tolerance));
                 }
                 else
                 {
                     return(dateTimeComparer.Compare(x, y));
                 }
             }
             //Boolean
             else if (columnType == ColumnType.Boolean)
             {
                 //Convert to bool
                 return(booleanComparer.Compare(x, y));
             }
             //Text
             else
             {
                 if (tolerance == null || tolerance == TextSingleMethodTolerance.None)
                 {
                     return(textComparer.Compare(x, y));
                 }
                 else
                 {
                     return(textComparer.Compare(x, y, tolerance));
                 }
             }
         }
     }
     return(ComparerResult.Equality);
 }