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);
}