/// <summary> /// Validates the correctness of <see cref="ITrack2"/> item. /// </summary> /// <param name="failover">Indicates whether this check is being carried out prior to failover.</param> /// <returns><c>true</c> if the item validates; otherwise false.</returns> public bool Validate(bool failover) { if (item == null) { // If this is being called during failover, then it can't be null. // Always return false to indicate that it is not valid and can't // be persisted. return(!(failover)); } if (failover && !item.Emv().CanFailover) { return(false); } if (!Luhn.IsValid(item.CardNumber)) { return(false); } return(!item.Expiry().HasExpired); }
public void IccTrack2ExpectExpiryDateAssert() { sut.Expiry().Date.Should().Be(new DateTime(2011, 3, 31, 23, 59, 59)); }