Esempio n. 1
0
        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);
        }