コード例 #1
0
        public void TestComparison()
        {
            UnitOfMeasure newton = sys.GetUOM(Unit.NEWTON);
            UnitOfMeasure metre  = sys.GetUOM(Unit.METRE);
            UnitOfMeasure cm     = sys.GetUOM(Prefix.CENTI, metre);

            double amount = 10;

            Quantity qN   = new Quantity(amount, newton);
            Quantity qm10 = new Quantity(amount, metre);
            Quantity qm1  = new Quantity(1, metre);
            Quantity qcm  = new Quantity(amount, cm);

            Assert.IsTrue(qN.Compare(qN) == 0);
            Assert.IsTrue(qm10.Compare(qm1) == 1);
            Assert.IsTrue(qm1.Compare(qm10) == -1);
            Assert.IsTrue(qcm.Compare(qm1) == -1);
            Assert.IsTrue(qm1.Compare(qcm) == 1);

            try
            {
                qN.Compare(qm10);
                Assert.Fail("not comparable)");
            }
            catch (Exception)
            {
            }

            Quantity conc = new Quantity(0.0025, sys.GetUOM(Unit.MOLARITY));
            double   pH   = -Math.Log10(conc.Amount);

            Assert.IsTrue(IsCloseTo(pH, 2.60, DELTA2));
        }