### Question:
EllipseSemiMinorAxisKey extends AbstractSpecialKey implements SpecialColumnDetector { static boolean isSemiMinor(String columnName) { return COLUMN_PATTERN.matcher(columnName).matches(); } EllipseSemiMinorAxisKey();  EllipseSemiMinorAxisKey(Class<? extends Length> semiMinorUnit); @Override boolean markSpecialColumn(MetaDataInfo metaData, String columnName); @Override SpecialKey detectColumn(String columnName); @SuppressWarnings("unchecked") Class<? extends Length> getAltitudeUnit(); static Class<? extends Length> detectUnit(String columnName); static final EllipseSemiMinorAxisKey DEFAULT; }### Answer:
@Test public void testIsSemiMinor() { Assert.assertFalse(EllipseSemiMinorAxisKey.isSemiMinor("")); Assert.assertFalse(EllipseSemiMinorAxisKey.isSemiMinor("SEMI_MAJOR")); Assert.assertTrue(EllipseSemiMinorAxisKey.isSemiMinor("Semi-Minor 95 (km)")); Assert.assertTrue(EllipseSemiMinorAxisKey.isSemiMinor("SEMI_MINOR")); Assert.assertTrue(EllipseSemiMinorAxisKey.isSemiMinor("SMI")); Assert.assertTrue(EllipseSemiMinorAxisKey.isSemiMinor("SMI_NM")); Assert.assertTrue(EllipseSemiMinorAxisKey.isSemiMinor("SMIN")); }