public void TestDivisionByConstant()
{
Duration duration = new Duration(500, 100.0);
Duration result = duration.Divide(100.0);
Assert.IsTrue(result.EqualsEpsilon(new Duration(5, 1.0), Constants.Epsilon10));
result = duration / 100.0;
Assert.IsTrue(result.EqualsEpsilon(new Duration(5, 1.0), Constants.Epsilon10));
duration = new Duration(5, 68010.0);
result = duration.Divide(100.0);
Assert.IsTrue(result.EqualsEpsilon(new Duration(0, 5000.1), Constants.Epsilon10));
result = duration / 100.0;
Assert.IsTrue(result.EqualsEpsilon(new Duration(0, 5000.1), Constants.Epsilon10));
duration = new Duration(0, 64800.0);
result = duration.Divide(0.5);
Assert.IsTrue(result.EqualsEpsilon(new Duration(1, 43200.0), Constants.Epsilon10));
result = duration / 0.5;
Assert.IsTrue(result.EqualsEpsilon(new Duration(1, 43200.0), Constants.Epsilon10));
duration = new Duration(502, 43300.5);
result = duration.Divide(100.5);
Assert.IsTrue(result.EqualsEpsilon(new Duration(5, 1.0), Constants.Epsilon10));
result = duration / 100.5;
Assert.IsTrue(result.EqualsEpsilon(new Duration(5, 1.0), Constants.Epsilon10));
duration = new Duration(5, 1.0);
result = duration / -2.0;
Assert.IsTrue(result.EqualsEpsilon(new Duration(-2, -43200.5), Constants.Epsilon10));
duration = new Duration(0, 18 * 3600);
result = duration / -0.5;
Assert.AreEqual(-12 * 3600, result.Seconds);
Assert.AreEqual(-1, result.Days);
duration = new Duration(1, 4 * 3600);
result = duration / -2;
Assert.AreEqual(-14 * 3600, result.Seconds);
Assert.AreEqual(0, result.Days);
}