Skip to content

Commit 6e29c47

Browse files
committed
Add unit test for AbstractConverter
Ensure we don't break default canConvert behavior again.
1 parent 3dfe6f3 commit 6e29c47

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

src/test/java/org/scijava/convert/ConverterTest.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,35 @@ public void testNullConverter() {
7171
assertNull(nc.convert(new Object(), (Class<Object>) null));
7272
assertNull(nc.convert(new Object(), (Type) null));
7373
}
74+
75+
/**
76+
* Test the default {@link AbstractConverter#canConvert} behavior.
77+
*/
78+
@Test
79+
public void testCanConvert() {
80+
NumberConverter nc = new NumberConverter();
81+
82+
assertFalse(nc.canConvert(Integer.class, Double.class));
83+
assertTrue(nc.canConvert(Integer.class, Number.class));
84+
}
85+
86+
private static class NumberConverter extends AbstractConverter<Number, Number> {
87+
88+
@SuppressWarnings("unchecked")
89+
@Override
90+
public <T> T convert(Object src, Class<T> dest) {
91+
return (T)src;
92+
}
93+
94+
@Override
95+
public Class<Number> getOutputType() {
96+
return Number.class;
97+
}
98+
99+
@Override
100+
public Class<Number> getInputType() {
101+
return Number.class;
102+
}
103+
104+
}
74105
}

0 commit comments

Comments
 (0)