BAEL-4157 Examples (#9596)
This commit is contained in:
parent
70fe4a3ca9
commit
d9e6fdf735
|
@ -0,0 +1,5 @@
|
||||||
|
package com.baeldung.isinstancevsisassignablefrom;
|
||||||
|
|
||||||
|
public class IsoscelesTriangle extends Triangle {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
package com.baeldung.isinstancevsisassignablefrom;
|
||||||
|
|
||||||
|
public interface Shape {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
package com.baeldung.isinstancevsisassignablefrom;
|
||||||
|
|
||||||
|
public class Triangle implements Shape {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
package com.baeldung.isinstancevsisassignablefrom;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class IsInstanceIsAssignableFromUnitTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenUsingIsInstanceProperly_desiredResultsHappen() {
|
||||||
|
Shape shape = new Triangle();
|
||||||
|
Triangle triangle = new Triangle();
|
||||||
|
IsoscelesTriangle isoscelesTriangle = new IsoscelesTriangle();
|
||||||
|
Triangle isoscelesTriangle2 = new IsoscelesTriangle();
|
||||||
|
Shape nonspecificShape = null;
|
||||||
|
|
||||||
|
assertTrue(Shape.class.isInstance(shape));
|
||||||
|
assertTrue(Shape.class.isInstance(triangle));
|
||||||
|
assertTrue(Shape.class.isInstance(isoscelesTriangle));
|
||||||
|
assertTrue(Shape.class.isInstance(isoscelesTriangle2));
|
||||||
|
assertFalse(Shape.class.isInstance(nonspecificShape));
|
||||||
|
|
||||||
|
assertTrue(Triangle.class.isInstance(shape));
|
||||||
|
assertTrue(Triangle.class.isInstance(triangle));
|
||||||
|
assertTrue(Triangle.class.isInstance(isoscelesTriangle));
|
||||||
|
assertTrue(Triangle.class.isInstance(isoscelesTriangle2));
|
||||||
|
|
||||||
|
assertFalse(IsoscelesTriangle.class.isInstance(shape));
|
||||||
|
assertFalse(IsoscelesTriangle.class.isInstance(triangle));
|
||||||
|
assertTrue(IsoscelesTriangle.class.isInstance(isoscelesTriangle));
|
||||||
|
assertTrue(IsoscelesTriangle.class.isInstance(isoscelesTriangle2));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenUsingIsAssignableFromProperly_desiredResultsHappen() {
|
||||||
|
Shape shape = new Triangle();
|
||||||
|
Triangle triangle = new Triangle();
|
||||||
|
IsoscelesTriangle isoscelesTriangle = new IsoscelesTriangle();
|
||||||
|
Triangle isoscelesTriangle2 = new IsoscelesTriangle();
|
||||||
|
|
||||||
|
assertFalse(shape.getClass().isAssignableFrom(Shape.class));
|
||||||
|
assertTrue(shape.getClass().isAssignableFrom(shape.getClass()));
|
||||||
|
assertTrue(shape.getClass().isAssignableFrom(triangle.getClass()));
|
||||||
|
assertTrue(shape.getClass().isAssignableFrom(isoscelesTriangle.getClass()));
|
||||||
|
assertTrue(shape.getClass().isAssignableFrom(isoscelesTriangle2.getClass()));
|
||||||
|
|
||||||
|
assertFalse(triangle.getClass().isAssignableFrom(Shape.class));
|
||||||
|
assertTrue(triangle.getClass().isAssignableFrom(shape.getClass()));
|
||||||
|
assertTrue(triangle.getClass().isAssignableFrom(triangle.getClass()));
|
||||||
|
assertTrue(triangle.getClass().isAssignableFrom(isoscelesTriangle.getClass()));
|
||||||
|
assertTrue(triangle.getClass().isAssignableFrom(isoscelesTriangle2.getClass()));
|
||||||
|
|
||||||
|
assertFalse(isoscelesTriangle.getClass().isAssignableFrom(Shape.class));
|
||||||
|
assertFalse(isoscelesTriangle.getClass().isAssignableFrom(shape.getClass()));
|
||||||
|
assertFalse(isoscelesTriangle.getClass().isAssignableFrom(triangle.getClass()));
|
||||||
|
assertTrue(isoscelesTriangle.getClass().isAssignableFrom(isoscelesTriangle.getClass()));
|
||||||
|
assertTrue(isoscelesTriangle.getClass().isAssignableFrom(isoscelesTriangle2.getClass()));
|
||||||
|
|
||||||
|
assertFalse(isoscelesTriangle2.getClass().isAssignableFrom(Shape.class));
|
||||||
|
assertFalse(isoscelesTriangle2.getClass().isAssignableFrom(shape.getClass()));
|
||||||
|
assertFalse(isoscelesTriangle2.getClass().isAssignableFrom(triangle.getClass()));
|
||||||
|
assertTrue(isoscelesTriangle2.getClass().isAssignableFrom(isoscelesTriangle.getClass()));
|
||||||
|
assertTrue(isoscelesTriangle2.getClass().isAssignableFrom(isoscelesTriangle2.getClass()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue