Beispiel #1
0
        public void TestMultiplication()
        {
            Duration duration = new Duration(5, 1.0);
            Duration result = duration.Multiply(100.0);
            Assert.IsTrue(result.EqualsEpsilon(new Duration(500, 100.0), Constants.Epsilon10));
            result = duration * 100.0;
            Assert.IsTrue(result.EqualsEpsilon(new Duration(500, 100.0), Constants.Epsilon10));

            duration = new Duration(0, 5000.1);
            result = duration.Multiply(100.0);
            Assert.IsTrue(result.EqualsEpsilon(new Duration(5, 68010.0), Constants.Epsilon10));
            result = duration * 100.0;
            Assert.IsTrue(result.EqualsEpsilon(new Duration(5, 68010.0), Constants.Epsilon10));

            duration = new Duration(1, 43200.0);
            result = duration.Multiply(0.5);
            Assert.IsTrue(result.EqualsEpsilon(new Duration(0, 64800.0), Constants.Epsilon10));
            result = duration * 0.5;
            Assert.IsTrue(result.EqualsEpsilon(new Duration(0, 64800.0), Constants.Epsilon10));

            duration = new Duration(5, 1.0);
            result = duration.Multiply(100.5);
            Assert.IsTrue(result.EqualsEpsilon(new Duration(502, 43300.5), Constants.Epsilon10));
            result = duration * 100.5;
            Assert.IsTrue(result.EqualsEpsilon(new Duration(502, 43300.5), Constants.Epsilon10));

            result = duration * -0.5;
            Assert.IsTrue(result.EqualsEpsilon(new Duration(-2, -43200.5), Constants.Epsilon10));

            duration = new Duration(0, 18 * 3600);
            result = duration * -2;
            Assert.AreEqual(-12 * 3600, result.Seconds);
            Assert.AreEqual(-1, result.Days);

            duration = new Duration(1, 4*3600);
            result = duration * -0.5;
            Assert.AreEqual(-14 * 3600, result.Seconds);
            Assert.AreEqual(0, result.Days);
        }