package com.insightfullogic.java8.examples.chapter4;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TestDefaultSubClassing {
// BEGIN parent_default_used
@Test
public void parentDefaultUsed() {
Parent parent = new ParentImpl();
parent.welcome();
assertEquals("Parent: Hi!", parent.getLastMessage());
}
// END parent_default_used
// BEGIN child_override_default
@Test
public void childOverrideDefault() {
Child child = new ChildImpl();
child.welcome();
assertEquals("Child: Hi!", child.getLastMessage());
}
// END child_override_default
// BEGIN concrete_beats_default
@Test
public void concreteBeatsDefault() {
Parent parent = new OverridingParent();
parent.welcome();
assertEquals("Class Parent: Hi!", parent.getLastMessage());
}
// END concrete_beats_default
// BEGIN concrete_beats_closer_default
@Test
public void concreteBeatsCloserDefault() {
Child child = new OverridingChild();
child.welcome();
assertEquals("Class Parent: Hi!", child.getLastMessage());
}
// END concrete_beats_closer_default
}