@Test public void testClassifyWithClassifier() { adapter.setDelegate( new org.springframework.classify.Classifier<String, Integer>() { public Integer classify(String classifiable) { return Integer.valueOf(classifiable); } }); assertEquals(23, adapter.classify("23").intValue()); }
@Test public void testClassifyWithSetter() { adapter.setDelegate( new Object() { @SuppressWarnings("unused") @Classifier public Integer getValue(String key) { return Integer.parseInt(key); } }); assertEquals(23, adapter.classify("23").intValue()); }
@Test(expected = IllegalArgumentException.class) public void testClassifyWithWrongType() { adapter.setDelegate( new Object() { @SuppressWarnings("unused") @Classifier public String getValue(Integer key) { return key.toString(); } }); assertEquals(23, adapter.classify("23").intValue()); }
@Test(expected = IllegalStateException.class) public void testClassifierAdapterObjectWithNoAnnotation() { adapter = new ClassifierAdapter<String, Integer>( new Object() { @SuppressWarnings("unused") public Integer getValue(String key) { return Integer.parseInt(key); } @SuppressWarnings("unused") public Integer getAnother(String key) { throw new UnsupportedOperationException("Not allowed"); } }); assertEquals(23, adapter.classify("23").intValue()); }
@Test public void testClassifierAdapterObjectSingleMethodWithNoAnnotation() { adapter = new ClassifierAdapter<String, Integer>( new Object() { @SuppressWarnings("unused") public Integer getValue(String key) { return Integer.parseInt(key); } @SuppressWarnings("unused") public void doNothing(String key) {} @SuppressWarnings("unused") public String doNothing(String key, int value) { return "foo"; } }); assertEquals(23, adapter.classify("23").intValue()); }