[if-class-is-enum] check class is enum (#15235)
* [if-class-is-enum] check class is enum * [if-class-is-enum] move to new module
This commit is contained in:
parent
a29627080f
commit
76d2612959
|
@ -0,0 +1,75 @@
|
||||||
|
package com.baeldung.enums.classcheck;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
enum Device {
|
||||||
|
Keyboard, Monitor, Mouse, Printer
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Weekday {
|
||||||
|
Monday, Tuesday, Wednesday, Thursday, Friday,
|
||||||
|
Saturday {
|
||||||
|
@Override
|
||||||
|
boolean isWeekend() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Sunday {
|
||||||
|
@Override
|
||||||
|
boolean isWeekend() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
boolean isWeekend() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CheckClassIsEnumUnitTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void whenUsingInstanceOf_thenGetExpectedResult() {
|
||||||
|
Object obj = Device.Keyboard;
|
||||||
|
assertTrue(obj instanceof Enum);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void whenUsingisInstance_thenGetExpectedResult() {
|
||||||
|
Object obj = Device.Keyboard;
|
||||||
|
assertTrue(Enum.class.isInstance(obj));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void whenUsingEnumClassisAssignableFrom_thenGetExpectedResult() {
|
||||||
|
Object obj = Device.Keyboard;
|
||||||
|
assertTrue(Enum.class.isAssignableFrom(obj.getClass()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void whenUsingGetClassIsEnum_thenGetExpectedResult() {
|
||||||
|
assertTrue(Device.class.isEnum());
|
||||||
|
|
||||||
|
Object obj = Device.Keyboard;
|
||||||
|
assertTrue(obj.getClass().isEnum());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void whenEnum_thenGetExpectedResult() {
|
||||||
|
Object monday = Weekday.Monday;
|
||||||
|
assertTrue(monday instanceof Enum);
|
||||||
|
assertTrue(Enum.class.isInstance(monday));
|
||||||
|
assertTrue(Enum.class.isAssignableFrom(monday.getClass()));
|
||||||
|
assertTrue(monday.getClass().isEnum());
|
||||||
|
|
||||||
|
Object sunday = Weekday.Sunday;
|
||||||
|
assertTrue(sunday instanceof Enum);
|
||||||
|
assertTrue(Enum.class.isInstance(sunday));
|
||||||
|
assertTrue(Enum.class.isAssignableFrom(sunday.getClass()));
|
||||||
|
assertFalse(sunday.getClass().isEnum()); // <-- isEnum() check failed when Enum values with body
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue