public void GetValue_DelegatesToGetInt64Value()
        {
            var field = new StubDateTimeField();
            var arg = new LocalInstant(60);

            field.GetValue(arg);

            Assert.That(field.GetInt64ValueWasCalled, Is.True);
            Assert.That(field.GetInt64ValueArg, Is.EqualTo(arg));
        }
 public void GetMinimumValueForInstant_DelegatesToAbsolute()
 {
     var field = new StubDateTimeField();
     Assert.AreEqual(0L, field.GetMinimumValue(new LocalInstant(0)));
     Assert.That(field.GetMinWasCalled, Is.True);
 }
 public void GetMinimumValue_OnStub_DefaultsTo0()
 {
     var field = new StubDateTimeField();
     Assert.AreEqual(0L, field.GetMinimumValue());
     Assert.That(field.GetMinWasCalled, Is.True);
 }
 public void LeapDurationField_DefaultsToNull()
 {
     var field = new StubDateTimeField();
     Assert.IsNull(field.LeapDurationField);
 }
 public void GetLeapAmount_DefaultsTo0()
 {
     var field = new StubDateTimeField();
     Assert.AreEqual(0, field.GetLeapAmount(new LocalInstant(0)));
 }
 public void IsLeap_DefaultsToFalse()
 {
     var field = new StubDateTimeField();
     Assert.IsFalse(field.IsLeap(new LocalInstant(0)));
 }
 public void IsSupported_DefaultsToTrue()
 {
     DateTimeField field = new StubDateTimeField();
     Assert.IsTrue(field.IsSupported);
 }
 public void Constructor_WithValidType_RemembersType()
 {
     DateTimeField field = new StubDateTimeField(DateTimeFieldType.WeekYear);
     Assert.AreEqual(DateTimeFieldType.WeekYear, field.FieldType);
 }
 public void Remainder()
 {
     DateTimeField field = new StubDateTimeField();
     Assert.AreEqual(0L, field.Remainder(new LocalInstant(0L)).Ticks);
     Assert.AreEqual(29L, field.Remainder(new LocalInstant(29L)).Ticks);
     Assert.AreEqual(30L, field.Remainder(new LocalInstant(30L)).Ticks);
     Assert.AreEqual(31L, field.Remainder(new LocalInstant(31L)).Ticks);
     Assert.AreEqual(0L, field.Remainder(new LocalInstant(60L)).Ticks);
 }
 public void RoundHalfEven()
 {
     DateTimeField field = new StubDateTimeField();
     Assert.AreEqual(0L, field.RoundHalfEven(new LocalInstant(0L)).Ticks);
     Assert.AreEqual(0L, field.RoundHalfEven(new LocalInstant(29L)).Ticks);
     Assert.AreEqual(0L, field.RoundHalfEven(new LocalInstant(30L)).Ticks);
     Assert.AreEqual(60L, field.RoundHalfEven(new LocalInstant(31L)).Ticks);
     Assert.AreEqual(60L, field.RoundHalfEven(new LocalInstant(60L)).Ticks);
     Assert.AreEqual(60L, field.RoundHalfEven(new LocalInstant(89L)).Ticks);
     Assert.AreEqual(120L, field.RoundHalfEven(new LocalInstant(90L)).Ticks);
     Assert.AreEqual(120L, field.RoundHalfEven(new LocalInstant(91L)).Ticks);
 }
 public void RoundHalfCeiling()
 {
     DateTimeField field = new StubDateTimeField();
     Assert.AreEqual(0L, field.RoundHalfCeiling(new LocalInstant(0L)).Ticks);
     Assert.AreEqual(0L, field.RoundHalfCeiling(new LocalInstant(29L)).Ticks);
     Assert.AreEqual(60L, field.RoundHalfCeiling(new LocalInstant(30L)).Ticks);
     Assert.AreEqual(60L, field.RoundHalfCeiling(new LocalInstant(31L)).Ticks);
     Assert.AreEqual(60L, field.RoundHalfCeiling(new LocalInstant(60L)).Ticks);
 }
 public void RoundFloor_OnStub_RoundsTo60()
 {
     DateTimeField field = new StubDateTimeField();
     Assert.AreEqual(0L, field.RoundFloor(new LocalInstant(0L)).Ticks);
     Assert.AreEqual(0L, field.RoundFloor(new LocalInstant(29L)).Ticks);
     Assert.AreEqual(0L, field.RoundFloor(new LocalInstant(30L)).Ticks);
     Assert.AreEqual(0L, field.RoundFloor(new LocalInstant(31L)).Ticks);
     Assert.AreEqual(60L, field.RoundFloor(new LocalInstant(60L)).Ticks);
 }