public void GivenVariableNumbersWithTypesThatSimplifyToScalarTypeWhenMultiplyThenShouldHaveScalarUnit() { var leftUom = InternalUnitSystemManager.Instance.UnitOfMeasures["ft1sec-1"].ToModelUom(); var leftValue = new NumericValue(leftUom, 21.848); var left = new NumericRepresentationValue(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation(), leftValue); var rightUom = InternalUnitSystemManager.Instance.UnitOfMeasures["sec"].ToModelUom(); var rightValue = new NumericValue(rightUom, 9.18); var right = new NumericRepresentationValue(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation(), rightValue); var product = left.Multiply(right, RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation()); Assert.AreEqual("ft", product.Value.UnitOfMeasure.Code); //Assert.IsInstanceOf<ScalarUnitOfMeasure>(product.Value.UnitOfMeasure.Scale);?? }
public void GivenVariableNumberWithCompositeUnitOfMeasureWhenMultiplyVariableNumberWithCompositeUnitOfMeasureThenCombinedUnitOfMeasure() { var uom = InternalUnitSystemManager.Instance.UnitOfMeasures["ft1sec-1"].ToModelUom(); var leftValue = new NumericValue(uom, 21.848); var left = new NumericRepresentationValue(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation(), leftValue); var rightValue = new NumericValue(uom, 9.18); var right = new NumericRepresentationValue(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation(), rightValue); var product = left.Multiply(right, RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation()); Assert.AreSame(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation().Code, product.Representation.Code); Assert.AreEqual("ft2[sec2]-1", product.Value.UnitOfMeasure.Code); Assert.AreEqual(200.56464, product.Value.Value); }
public void GivenVariableNumberWithCompositeUnitOfMeasureWhenMultiplyVariableNumberWithCompositeUnitOfMeasureThenUnitsCancel() { var leftUom = InternalUnitSystemManager.Instance.UnitOfMeasures["ft1sec1"].ToModelUom(); var leftValue = new NumericValue(leftUom, 5.15); var left = new NumericRepresentationValue(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation(), leftValue); var rightUom = InternalUnitSystemManager.Instance.UnitOfMeasures["ft1sec-1"].ToModelUom(); var rightValue = new NumericValue(rightUom, 7.89); var right = new NumericRepresentationValue(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation(), rightValue); var product = left.Multiply(right, RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation()); Assert.AreSame(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation().Code, product.Representation.Code); Assert.AreEqual("ft2", product.Value.UnitOfMeasure.Code); Assert.AreEqual(40.6335, product.Value.Value); }
public void GivenVariableNumberWithCompositeUnitOfMeasureWhenMultiplyVariableNumberThenCombinedUnitOfMeasure() { var leftUom = InternalUnitSystemManager.Instance.UnitOfMeasures["ft1sec-1"].ToModelUom(); var leftValue = new NumericValue(leftUom, 47.5); var left = new NumericRepresentationValue(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation(), leftValue); var right = new NumericValue(_ftUnitOfMeasure.ToModelUom(), 3); var product = left.Multiply(right); Assert.IsInstanceOf<NumericRepresentationValue>(product); Assert.AreEqual("ft2sec-1", product.Value.UnitOfMeasure.Code); Assert.AreEqual(142.5, product.Value.Value); }
public void GivenVariableNumberWhenMultiplyDoubleThenSourceValueIsProduct() { var uom = InternalUnitSystemManager.Instance.UnitOfMeasures["mi"].ToModelUom(); var value = new NumericValue(uom, 3.62); var number = new NumericRepresentationValue(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation(), value); var result = number.Multiply(1.23); Assert.AreEqual(3.62 * 1.23, result.Value.Value, Epsilon); }
public void GivenVariableNumberWhenMultiplyNumberThenUnitOfMeasuresCombined() { var uom = _ftUnitOfMeasure.ToModelUom(); var leftValue = new NumericValue(uom, 12); var left = new NumericRepresentationValue(RepresentationInstanceList.vrDistanceTraveled.ToModelRepresentation(), leftValue); var right = new NumericValue(uom, 4); var product = left.Multiply(right); Assert.IsInstanceOf<NumericRepresentationValue>(product); Assert.AreEqual("ft2", product.Value.UnitOfMeasure.Code); Assert.AreEqual(48, product.Value.Value); }