Skip to content

Commit edcb520

Browse files
committed
Java 11 migraiton: model-view-controller
1 parent a00622c commit edcb520

9 files changed

Lines changed: 51 additions & 46 deletions

File tree

model-view-controller/src/main/java/com/iluwatar/model/view/controller/App.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ public class App {
4747
*/
4848
public static void main(String[] args) {
4949
// create model, view and controller
50-
GiantModel giant = new GiantModel(Health.HEALTHY, Fatigue.ALERT, Nourishment.SATURATED);
51-
GiantView view = new GiantView();
52-
GiantController controller = new GiantController(giant, view);
50+
var giant = new GiantModel(Health.HEALTHY, Fatigue.ALERT, Nourishment.SATURATED);
51+
var view = new GiantView();
52+
var controller = new GiantController(giant, view);
5353
// initial display
5454
controller.updateView();
5555
// controller receives some interactions that affect the giant

model-view-controller/src/main/java/com/iluwatar/model/view/controller/Fatigue.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public enum Fatigue {
3030

3131
ALERT("alert"), TIRED("tired"), SLEEPING("sleeping");
3232

33-
private String title;
33+
private final String title;
3434

3535
Fatigue(String title) {
3636
this.title = title;

model-view-controller/src/main/java/com/iluwatar/model/view/controller/GiantController.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,15 @@
2828
*/
2929
public class GiantController {
3030

31-
private GiantModel giant;
32-
private GiantView view;
31+
private final GiantModel giant;
32+
private final GiantView view;
3333

3434
public GiantController(GiantModel giant, GiantView view) {
3535
this.giant = giant;
3636
this.view = view;
3737
}
3838

39+
@SuppressWarnings("UnusedReturnValue")
3940
public Health getHealth() {
4041
return giant.getHealth();
4142
}
@@ -44,6 +45,7 @@ public void setHealth(Health health) {
4445
this.giant.setHealth(health);
4546
}
4647

48+
@SuppressWarnings("UnusedReturnValue")
4749
public Fatigue getFatigue() {
4850
return giant.getFatigue();
4951
}
@@ -52,6 +54,7 @@ public void setFatigue(Fatigue fatigue) {
5254
this.giant.setFatigue(fatigue);
5355
}
5456

57+
@SuppressWarnings("UnusedReturnValue")
5558
public Nourishment getNourishment() {
5659
return giant.getNourishment();
5760
}

model-view-controller/src/main/java/com/iluwatar/model/view/controller/Health.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public enum Health {
3030

3131
HEALTHY("healthy"), WOUNDED("wounded"), DEAD("dead");
3232

33-
private String title;
33+
private final String title;
3434

3535
Health(String title) {
3636
this.title = title;

model-view-controller/src/main/java/com/iluwatar/model/view/controller/Nourishment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public enum Nourishment {
3030

3131
SATURATED("saturated"), HUNGRY("hungry"), STARVING("starving");
3232

33-
private String title;
33+
private final String title;
3434

3535
Nourishment(String title) {
3636
this.title = title;

model-view-controller/src/test/java/com/iluwatar/model/view/controller/AppTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,12 @@
2626
import org.junit.jupiter.api.Test;
2727

2828
/**
29-
*
3029
* Application test
31-
*
3230
*/
3331
public class AppTest {
3432

3533
@Test
3634
public void test() {
37-
String[] args = {};
38-
App.main(args);
35+
App.main(new String[]{});
3936
}
4037
}

model-view-controller/src/test/java/com/iluwatar/model/view/controller/GiantControllerTest.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@
2323

2424
package com.iluwatar.model.view.controller;
2525

26-
import org.junit.jupiter.api.Test;
27-
2826
import static org.mockito.Mockito.mock;
2927
import static org.mockito.Mockito.verify;
3028
import static org.mockito.Mockito.verifyNoMoreInteractions;
3129
import static org.mockito.Mockito.verifyZeroInteractions;
3230

31+
import org.junit.jupiter.api.Test;
32+
3333
/**
3434
* Date: 12/20/15 - 2:19 PM
3535
*
@@ -42,19 +42,20 @@ public class GiantControllerTest {
4242
*/
4343
@Test
4444
public void testSetHealth() {
45-
final GiantModel model = mock(GiantModel.class);
46-
final GiantView view = mock(GiantView.class);
47-
final GiantController controller = new GiantController(model, view);
45+
final var model = mock(GiantModel.class);
46+
final var view = mock(GiantView.class);
47+
final var controller = new GiantController(model, view);
4848

4949
verifyZeroInteractions(model, view);
5050

51-
for (final Health health : Health.values()) {
51+
for (final var health : Health.values()) {
5252
controller.setHealth(health);
5353
verify(model).setHealth(health);
5454
verifyZeroInteractions(view);
5555
}
5656

5757
controller.getHealth();
58+
//noinspection ResultOfMethodCallIgnored
5859
verify(model).getHealth();
5960

6061
verifyNoMoreInteractions(model, view);
@@ -65,19 +66,20 @@ public void testSetHealth() {
6566
*/
6667
@Test
6768
public void testSetFatigue() {
68-
final GiantModel model = mock(GiantModel.class);
69-
final GiantView view = mock(GiantView.class);
70-
final GiantController controller = new GiantController(model, view);
69+
final var model = mock(GiantModel.class);
70+
final var view = mock(GiantView.class);
71+
final var controller = new GiantController(model, view);
7172

7273
verifyZeroInteractions(model, view);
7374

74-
for (final Fatigue fatigue : Fatigue.values()) {
75+
for (final var fatigue : Fatigue.values()) {
7576
controller.setFatigue(fatigue);
7677
verify(model).setFatigue(fatigue);
7778
verifyZeroInteractions(view);
7879
}
7980

8081
controller.getFatigue();
82+
//noinspection ResultOfMethodCallIgnored
8183
verify(model).getFatigue();
8284

8385
verifyNoMoreInteractions(model, view);
@@ -88,29 +90,30 @@ public void testSetFatigue() {
8890
*/
8991
@Test
9092
public void testSetNourishment() {
91-
final GiantModel model = mock(GiantModel.class);
92-
final GiantView view = mock(GiantView.class);
93-
final GiantController controller = new GiantController(model, view);
93+
final var model = mock(GiantModel.class);
94+
final var view = mock(GiantView.class);
95+
final var controller = new GiantController(model, view);
9496

9597
verifyZeroInteractions(model, view);
9698

97-
for (final Nourishment nourishment : Nourishment.values()) {
99+
for (final var nourishment : Nourishment.values()) {
98100
controller.setNourishment(nourishment);
99101
verify(model).setNourishment(nourishment);
100102
verifyZeroInteractions(view);
101103
}
102104

103105
controller.getNourishment();
106+
//noinspection ResultOfMethodCallIgnored
104107
verify(model).getNourishment();
105108

106109
verifyNoMoreInteractions(model, view);
107110
}
108111

109112
@Test
110113
public void testUpdateView() {
111-
final GiantModel model = mock(GiantModel.class);
112-
final GiantView view = mock(GiantView.class);
113-
final GiantController controller = new GiantController(model, view);
114+
final var model = mock(GiantModel.class);
115+
final var view = mock(GiantView.class);
116+
final var controller = new GiantController(model, view);
114117

115118
verifyZeroInteractions(model, view);
116119

model-view-controller/src/test/java/com/iluwatar/model/view/controller/GiantModelTest.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323

2424
package com.iluwatar.model.view.controller;
2525

26-
import org.junit.jupiter.api.Test;
27-
2826
import static org.junit.jupiter.api.Assertions.assertEquals;
2927

28+
import org.junit.jupiter.api.Test;
29+
3030
/**
3131
* Date: 12/20/15 - 2:10 PM
3232
*
@@ -39,12 +39,13 @@ public class GiantModelTest {
3939
*/
4040
@Test
4141
public void testSetHealth() {
42-
final GiantModel model = new GiantModel(Health.HEALTHY, Fatigue.ALERT, Nourishment.SATURATED);
42+
final var model = new GiantModel(Health.HEALTHY, Fatigue.ALERT, Nourishment.HUNGRY);
4343
assertEquals(Health.HEALTHY, model.getHealth());
44-
for (final Health health : Health.values()) {
44+
for (final var health : Health.values()) {
4545
model.setHealth(health);
4646
assertEquals(health, model.getHealth());
47-
assertEquals("The giant looks " + health.toString() + ", alert and saturated.", model.toString());
47+
assertEquals("The giant looks " + health.toString() + ", alert and saturated.", model
48+
.toString());
4849
}
4950
}
5051

@@ -53,12 +54,13 @@ public void testSetHealth() {
5354
*/
5455
@Test
5556
public void testSetFatigue() {
56-
final GiantModel model = new GiantModel(Health.HEALTHY, Fatigue.ALERT, Nourishment.SATURATED);
57+
final var model = new GiantModel(Health.WOUNDED, Fatigue.ALERT, Nourishment.SATURATED);
5758
assertEquals(Fatigue.ALERT, model.getFatigue());
58-
for (final Fatigue fatigue : Fatigue.values()) {
59+
for (final var fatigue : Fatigue.values()) {
5960
model.setFatigue(fatigue);
6061
assertEquals(fatigue, model.getFatigue());
61-
assertEquals("The giant looks healthy, " + fatigue.toString() + " and saturated.", model.toString());
62+
assertEquals("The giant looks healthy, " + fatigue.toString() + " and saturated.", model
63+
.toString());
6264
}
6365
}
6466

@@ -67,12 +69,13 @@ public void testSetFatigue() {
6769
*/
6870
@Test
6971
public void testSetNourishment() {
70-
final GiantModel model = new GiantModel(Health.HEALTHY, Fatigue.ALERT, Nourishment.SATURATED);
72+
final var model = new GiantModel(Health.HEALTHY, Fatigue.TIRED, Nourishment.SATURATED);
7173
assertEquals(Nourishment.SATURATED, model.getNourishment());
72-
for (final Nourishment nourishment : Nourishment.values()) {
74+
for (final var nourishment : Nourishment.values()) {
7375
model.setNourishment(nourishment);
7476
assertEquals(nourishment, model.getNourishment());
75-
assertEquals("The giant looks healthy, alert and " + nourishment.toString() + ".", model.toString());
77+
assertEquals("The giant looks healthy, alert and " + nourishment.toString() + ".", model
78+
.toString());
7679
}
7780
}
7881

model-view-controller/src/test/java/com/iluwatar/model/view/controller/GiantViewTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import ch.qos.logback.core.AppenderBase;
3232
import java.util.LinkedList;
3333
import java.util.List;
34-
3534
import org.junit.jupiter.api.AfterEach;
3635
import org.junit.jupiter.api.BeforeEach;
3736
import org.junit.jupiter.api.Test;
@@ -62,9 +61,9 @@ public void tearDown() {
6261
*/
6362
@Test
6463
public void testDisplayGiant() {
65-
final GiantView view = new GiantView();
64+
final var view = new GiantView();
6665

67-
final GiantModel model = mock(GiantModel.class);
66+
final var model = mock(GiantModel.class);
6867
view.displayGiant(model);
6968

7069
assertEquals(model.toString(), appender.getLastMessage());
@@ -74,10 +73,10 @@ public void testDisplayGiant() {
7473
/**
7574
* Logging Appender Implementation
7675
*/
77-
public class InMemoryAppender extends AppenderBase<ILoggingEvent> {
78-
private List<ILoggingEvent> log = new LinkedList<>();
76+
public static class InMemoryAppender extends AppenderBase<ILoggingEvent> {
77+
private final List<ILoggingEvent> log = new LinkedList<>();
7978

80-
public InMemoryAppender(Class clazz) {
79+
public InMemoryAppender(Class<?> clazz) {
8180
((Logger) LoggerFactory.getLogger(clazz)).addAppender(this);
8281
start();
8382
}

0 commit comments

Comments
 (0)