Java 11 migraiton: mediator pattern
This commit is contained in:
parent
59e050b20b
commit
93e5570778
@ -34,8 +34,8 @@ public enum Action {
|
||||
ENEMY("spotted enemies", "runs for cover"),
|
||||
NONE("", "");
|
||||
|
||||
private String title;
|
||||
private String description;
|
||||
private final String title;
|
||||
private final String description;
|
||||
|
||||
Action(String title, String description) {
|
||||
this.title = title;
|
||||
|
@ -55,10 +55,10 @@ public class App {
|
||||
|
||||
// create party and members
|
||||
Party party = new PartyImpl();
|
||||
Hobbit hobbit = new Hobbit();
|
||||
Wizard wizard = new Wizard();
|
||||
Rogue rogue = new Rogue();
|
||||
Hunter hunter = new Hunter();
|
||||
var hobbit = new Hobbit();
|
||||
var wizard = new Wizard();
|
||||
var rogue = new Rogue();
|
||||
var hunter = new Hunter();
|
||||
|
||||
// add party members
|
||||
party.addMember(hobbit);
|
||||
|
@ -39,7 +39,7 @@ public class PartyImpl implements Party {
|
||||
|
||||
@Override
|
||||
public void act(PartyMember actor, Action action) {
|
||||
for (PartyMember member : members) {
|
||||
for (var member : members) {
|
||||
if (!member.equals(actor)) {
|
||||
member.partyAction(action);
|
||||
}
|
||||
|
@ -26,15 +26,12 @@ package com.iluwatar.mediator;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
*
|
||||
* Application test
|
||||
*
|
||||
*/
|
||||
public class AppTest {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
String[] args = {};
|
||||
App.main(args);
|
||||
App.main(new String[]{});
|
||||
}
|
||||
}
|
||||
|
@ -43,10 +43,10 @@ public class PartyImplTest {
|
||||
*/
|
||||
@Test
|
||||
public void testPartyAction() {
|
||||
final PartyMember partyMember1 = mock(PartyMember.class);
|
||||
final PartyMember partyMember2 = mock(PartyMember.class);
|
||||
final var partyMember1 = mock(PartyMember.class);
|
||||
final var partyMember2 = mock(PartyMember.class);
|
||||
|
||||
final PartyImpl party = new PartyImpl();
|
||||
final var party = new PartyImpl();
|
||||
party.addMember(partyMember1);
|
||||
party.addMember(partyMember2);
|
||||
|
||||
@ -58,7 +58,6 @@ public class PartyImplTest {
|
||||
verify(partyMember2).partyAction(Action.GOLD);
|
||||
|
||||
verifyNoMoreInteractions(partyMember1, partyMember2);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -23,24 +23,24 @@
|
||||
|
||||
package com.iluwatar.mediator;
|
||||
|
||||
import ch.qos.logback.classic.Logger;
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import ch.qos.logback.core.AppenderBase;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import ch.qos.logback.classic.Logger;
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import ch.qos.logback.core.AppenderBase;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Stream;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Date: 12/19/15 - 10:13 PM
|
||||
*
|
||||
@ -48,12 +48,12 @@ import static org.mockito.Mockito.verify;
|
||||
*/
|
||||
public class PartyMemberTest {
|
||||
|
||||
static Collection<Supplier<PartyMember>[]> dataProvider() {
|
||||
return List.of(
|
||||
new Supplier[]{Hobbit::new},
|
||||
new Supplier[]{Hunter::new},
|
||||
new Supplier[]{Rogue::new},
|
||||
new Supplier[]{Wizard::new}
|
||||
static Stream<Arguments> dataProvider() {
|
||||
return Stream.of(
|
||||
Arguments.of((Supplier<PartyMember>) Hobbit::new),
|
||||
Arguments.of((Supplier<PartyMember>) Hunter::new),
|
||||
Arguments.of((Supplier<PartyMember>) Rogue::new),
|
||||
Arguments.of((Supplier<PartyMember>) Wizard::new)
|
||||
);
|
||||
}
|
||||
|
||||
@ -75,9 +75,9 @@ public class PartyMemberTest {
|
||||
@ParameterizedTest
|
||||
@MethodSource("dataProvider")
|
||||
public void testPartyAction(Supplier<PartyMember> memberSupplier) {
|
||||
final PartyMember member = memberSupplier.get();
|
||||
final var member = memberSupplier.get();
|
||||
|
||||
for (final Action action : Action.values()) {
|
||||
for (final var action : Action.values()) {
|
||||
member.partyAction(action);
|
||||
assertEquals(member.toString() + " " + action.getDescription(), appender.getLastMessage());
|
||||
}
|
||||
@ -91,16 +91,16 @@ public class PartyMemberTest {
|
||||
@ParameterizedTest
|
||||
@MethodSource("dataProvider")
|
||||
public void testAct(Supplier<PartyMember> memberSupplier) {
|
||||
final PartyMember member = memberSupplier.get();
|
||||
final var member = memberSupplier.get();
|
||||
|
||||
member.act(Action.GOLD);
|
||||
assertEquals(0, appender.getLogSize());
|
||||
|
||||
final Party party = mock(Party.class);
|
||||
final var party = mock(Party.class);
|
||||
member.joinedParty(party);
|
||||
assertEquals(member.toString() + " joins the party", appender.getLastMessage());
|
||||
|
||||
for (final Action action : Action.values()) {
|
||||
for (final var action : Action.values()) {
|
||||
member.act(action);
|
||||
assertEquals(member.toString() + " " + action.toString(), appender.getLastMessage());
|
||||
verify(party).act(member, action);
|
||||
@ -114,16 +114,16 @@ public class PartyMemberTest {
|
||||
*/
|
||||
@ParameterizedTest
|
||||
@MethodSource("dataProvider")
|
||||
public void testToString(Supplier<PartyMember> memberSupplier) throws Exception {
|
||||
final PartyMember member = memberSupplier.get();
|
||||
final Class<? extends PartyMember> memberClass = member.getClass();
|
||||
public void testToString(Supplier<PartyMember> memberSupplier) {
|
||||
final var member = memberSupplier.get();
|
||||
final var memberClass = member.getClass();
|
||||
assertEquals(memberClass.getSimpleName(), member.toString());
|
||||
}
|
||||
|
||||
private class InMemoryAppender extends AppenderBase<ILoggingEvent> {
|
||||
private List<ILoggingEvent> log = new LinkedList<>();
|
||||
private static class InMemoryAppender extends AppenderBase<ILoggingEvent> {
|
||||
private final List<ILoggingEvent> log = new LinkedList<>();
|
||||
|
||||
public InMemoryAppender(Class clazz) {
|
||||
public InMemoryAppender(Class<?> clazz) {
|
||||
((Logger) LoggerFactory.getLogger(clazz)).addAppender(this);
|
||||
start();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user