コード例 #1
0
      public void GivenBaseNumberWhenAddBaseNumberThenResultIsInOriginalUom()
      {
         var originalUom = InternalUnitSystemManager.Instance.UnitOfMeasures["m"];
         var originalNumber = new NumericValue(originalUom.ToModelUom(), 1.75);

         var secondUom = InternalUnitSystemManager.Instance.UnitOfMeasures["ft"];
         var secondNumber = new NumericValue(secondUom.ToModelUom(), 3.5);

         var expected = 2.8168; //1.75m + (3.5ft -> m)
         var actual = originalNumber.Add(secondNumber);
         Assert.AreEqual(expected, actual.Value, Epsilon);
      }
コード例 #2
0
      public void GivenBaseNumberWhenAddDoubleShouldReturnNewBaseNumberWithSourceAddedToDouble()
      {
         var uom = _mileUnitOfMeasure;
         var number = new NumericValue(uom.ToModelUom(), 3.62);

         var result = number.Add(1.23);

         Assert.AreEqual(4.85, result.Value, Epsilon);
      }
コード例 #3
0
      public void GivenTwoBaseNumbersWithSameUomWhenAddedShouldReturnNewBaseNumberWithSumAsSourceValue()
      {
         var uom = InternalUnitSystemManager.Instance.UnitOfMeasures["C"];
         var originalNumber = new NumericValue(uom.ToModelUom(), 22);
         var secondNumber = new NumericValue(uom.ToModelUom(), 11);

         var result = originalNumber.Add(secondNumber);
         Assert.AreEqual(33, result.Value);
      }
コード例 #4
0
      public void GivenBaseNumbersWithIncompatibleUnitsWhenAddThenException()
      {
         var originalUom = InternalUnitSystemManager.Instance.UnitOfMeasures["m"];
         var originalNumber = new NumericValue(originalUom.ToModelUom(), 1.75);

         var secondUom = InternalUnitSystemManager.Instance.UnitOfMeasures["C"];
         var secondNumber = new NumericValue(secondUom.ToModelUom(), 3.5);

         Assert.Throws<InvalidOperationException>(() => originalNumber.Add(secondNumber));
      }