package org.jboss.cdi.api.test.event;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
import java.time.Duration;
import java.util.concurrent.Executor;
import javax.enterprise.event.NotificationOptions;
import org.testng.annotations.Test;
/**
*
* @author Martin Kouba
*/
public class NotificationOptionsTest {
@Test
public void testBuilder() {
Duration timeout = Duration.ofDays(1);
NotificationOptions options = NotificationOptions.of("timeout", timeout);
assertEquals(timeout, options.get("timeout"));
assertNull(options.getExecutor());
assertNull(options.get("alpha"));
options = NotificationOptions.builder().set("foo", "bar").setExecutor(new Executor() {
@Override
public void execute(Runnable command) {
}
}).build();
assertEquals("bar", options.get("foo"));
assertNotNull(options.getExecutor());
options = NotificationOptions.ofExecutor(new Executor() {
@Override
public void execute(Runnable command) {
}
});
Executor executor = options.getExecutor();
assertNotNull(executor);
assertNull(options.get("timeout"));
}
}