package com.intrbiz.bergamot.config; import static org.hamcrest.Matchers.*; import static org.junit.Assert.*; import java.io.StringReader; import javax.xml.bind.JAXBContext; import org.junit.Test; import com.intrbiz.bergamot.config.model.ScheduleCfg; import com.intrbiz.bergamot.util.TimeInterval; public class TestScheduleCfg { @Test public void test() throws Exception { JAXBContext ctx = JAXBContext.newInstance(new Class<?>[] { ScheduleCfg.class }); ScheduleCfg cfg = (ScheduleCfg) ctx.createUnmarshaller().unmarshal(new StringReader("<schedule every=\"5\" retry-every=\"1m\" changing-every=\"30s\"/>")); assertThat(cfg, is(notNullValue())); assertThat(cfg.getEvery(), is(equalTo("5"))); assertThat(cfg.getRetryEvery(), is(equalTo("1m"))); assertThat(cfg.getChangingEvery(), is(equalTo("30s"))); assertThat(cfg.getEveryTimeInterval(), is(equalTo(TimeInterval.minutes(5)))); assertThat(cfg.getRetryEveryTimeInterval(), is(equalTo(TimeInterval.minutes(1)))); assertThat(cfg.getChangingEveryTimeInterval(), is(equalTo(TimeInterval.seconds(30)))); assertThat(cfg.getEveryTimeInterval().toMillis(), is(equalTo(300_000L))); assertThat(cfg.getRetryEveryTimeInterval().toMillis(), is(equalTo(60_000L))); assertThat(cfg.getChangingEveryTimeInterval().toMillis(), is(equalTo(30_000L))); } }