@Test
public void testValidCronEntry() {

    assertFalse(Cron.isCronEntryValid("0 0 * * 0"));   // NOT Valid Quartz TODO - if UI can't validate we need to re-enable conversion of dow, dom 0->1
    assertFalse(Cron.isCronEntryValid("0 0 0 * 0"));   // NOT Valid Quartz
    assertFalse(Cron.isCronEntryValid("0 0 1 * 0"));   // NOT Valid Quartz
    assertFalse(Cron.isCronEntryValid("0 0 1 * 1"));   // NOT Valid Quartz
    assertTrue(Cron.isCronEntryValid(" * 5-17 * * * "));
    assertTrue(Cron.isCronEntryValid("* 5-17 * * 1-5"));
    assertTrue(Cron.isCronEntryValid("* 5-17 ? * 1-5"));
    assertTrue(Cron.isCronEntryValid("* 5-17 ? * ?"));
    assertTrue(Cron.isCronEntryValid("* 5-17 * * ?"));
    assertTrue(Cron.isCronEntryValid("* 5-17 ? * *"));
    assertTrue(Cron.isCronEntryValid("0 0 * *"));
    // Special conversions
    assertTrue(Cron.isCronEntryValid("0 0 1 1 *")); // ANNUALLY or YEARLY
    assertTrue(Cron.isCronEntryValid("0 0 1 * *")); // MONTHLY
    assertTrue(Cron.isCronEntryValid("0 0 * * 1")); // WEEKLY  -> should become 0 0 0 ? * 1
    assertTrue(Cron.isCronEntryValid("0 0 * * *")); // DAILY or MIDNIGHT
    assertTrue(Cron.isCronEntryValid("0 * * * *")); // HOURLY
    for (int i = 1; i < 24; i++)
    {
        String cron=String.format("0 */%d * * *", i);
        assertTrue(Cron.isCronEntryValid(cron));
    }
    for (int i = 1; i < 60; i++)
    {
        String cron=String.format("*/%d 0 * * *", i);
        assertTrue(Cron.isCronEntryValid(cron));
    }
}