@Override public <T> Optional<T> valueOf(Key<T> key) { return Optional.ofNullable(key.cast(contextValues.get(key))); }
@Override public <T> Optional<T> valueOf(Key<T> key) { return Optional.ofNullable(key.cast(contextValues.get(key))); }
@Override public <T> Optional<T> valueOf(Key<T> key) { return Optional.ofNullable(key.cast(contextValues.get(key))); } }
@Override public <T> Optional<T> valueOf(Key<T> key) { return Optional.ofNullable(key.cast(contextValues.get(key))); } }
@Test public void rejectsNullStatusKeyType() { thrown.expect(NullPointerException.class); new Key<>("name", null); }
@Test public void rejectsNullStatusKeyName() { thrown.expect(NullPointerException.class); new Key<>(null, int.class); }
@Test public void equalsAndHashCodeOnStatusKeys() { new EqualsTester() .addEqualityGroup(new Key<>("a", String.class), new Key<>("a", String.class)) .addEqualityGroup(new Key<>("a", Integer.class), new Key<>("a", Integer.class)) .addEqualityGroup(new Key<>("b", String.class), new Key<>("b", String.class)) .addEqualityGroup(true, true) .testEquals(); } }