@Test
public void testMemberDueDateTimestamp() {

    assertEquals(zms.memberDueDateTimestamp(null, null, Timestamp.fromMillis(100)), Timestamp.fromMillis(100));
    assertEquals(zms.memberDueDateTimestamp(-1, 0, Timestamp.fromMillis(100)), Timestamp.fromMillis(100));
    assertEquals(zms.memberDueDateTimestamp(-3, -2, Timestamp.fromMillis(100)), Timestamp.fromMillis(100));
    long ext50Millis = TimeUnit.MILLISECONDS.convert(50, TimeUnit.DAYS);
    long ext75Millis = TimeUnit.MILLISECONDS.convert(75, TimeUnit.DAYS);
    long ext100Millis = TimeUnit.MILLISECONDS.convert(100, TimeUnit.DAYS);
    Timestamp stamp = zms.memberDueDateTimestamp(100, 50, Timestamp.fromMillis(System.currentTimeMillis() + ext75Millis));
    assertTrue(validateDueDate(stamp.millis(), ext50Millis));
    stamp = zms.memberDueDateTimestamp(75, null, Timestamp.fromMillis(System.currentTimeMillis() + ext100Millis));
    assertTrue(validateDueDate(stamp.millis(), ext75Millis));
}