public void PathToDefaultUnitTest() { //from pico Gram to default Kilo Gram Unit target = new Gram(); ((MetricUnit)target).UnitPrefix = MetricPrefix.None; UnitPathStack actual = target.PathToDefaultUnit(); double expected = System.Math.Pow(10, -3); Assert.AreEqual(expected, actual.ConversionFactor); target = new Metre(); ((MetricUnit)target).UnitPrefix = MetricPrefix.Tera; actual = target.PathToDefaultUnit(); expected = System.Math.Pow(10, 12); Assert.AreEqual(expected, actual.ConversionFactor); target = new Unit(typeof(QuantitySystem.Quantities.Volume <>)); actual = target.PathToDefaultUnit(); expected = 1; Assert.AreEqual(expected, actual.ConversionFactor); target = new QuantitySystem.Units.Metric.Litre(); //((SIUnit)target).UnitPrefix = SIPrefix.Kilo; actual = target.PathToDefaultUnit(); // from Litre to m^3 expected = 1e-3; Assert.AreEqual(expected, actual.ConversionFactor); target = new QuantitySystem.Units.Metric.Litre(); ((MetricUnit)target).UnitPrefix = MetricPrefix.Kilo; actual = target.PathToDefaultUnit(); // from Litre to m^3 expected = 1; Assert.AreEqual(expected, actual.ConversionFactor); target = new QuantitySystem.Units.Metric.Bar(); //((SIUnit)target).UnitPrefix = SIPrefix.Kilo; actual = target.PathToDefaultUnit(); // from Litre to m^3 expected = 1e+5; Assert.AreEqual(expected, actual.ConversionFactor); target = new QuantitySystem.Units.Metric.Cgs.Dyne(); actual = target.PathToDefaultUnit(); expected = 1e-5; Assert.AreEqual(expected, actual.ConversionFactor); }