Skip to content

Commit 8e060ad

Browse files
Refactors null object pattern to java-11
1 parent a5038c4 commit 8e060ad

File tree

4 files changed

+32
-33
lines changed

4 files changed

+32
-33
lines changed

null-object/src/main/java/com/iluwatar/nullobject/App.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,16 @@ public class App {
3737
* @param args command line args
3838
*/
3939
public static void main(String[] args) {
40-
41-
Node root =
42-
new NodeImpl("1", new NodeImpl("11", new NodeImpl("111", NullNode.getInstance(),
43-
NullNode.getInstance()), NullNode.getInstance()), new NodeImpl("12",
44-
NullNode.getInstance(), new NodeImpl("122", NullNode.getInstance(),
45-
NullNode.getInstance())));
40+
Node root = new NodeImpl("1",
41+
new NodeImpl("11",
42+
new NodeImpl("111", NullNode.getInstance(), NullNode.getInstance()),
43+
NullNode.getInstance()
44+
),
45+
new NodeImpl("12",
46+
NullNode.getInstance(),
47+
new NodeImpl("122", NullNode.getInstance(), NullNode.getInstance())
48+
)
49+
);
4650

4751
root.walk();
4852
}

null-object/src/test/java/com/iluwatar/nullobject/AppTest.java

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

2828
/**
29-
*
3029
* Application test
31-
*
3230
*/
3331
public class AppTest {
34-
3532
@Test
3633
public void test() {
37-
String[] args = {};
38-
App.main(args);
34+
App.main(new String[]{});
3935
}
4036
}

null-object/src/test/java/com/iluwatar/nullobject/NullNodeTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ public class NullNodeTest {
4242
*/
4343
@Test
4444
public void testGetInstance() {
45-
final NullNode instance = NullNode.getInstance();
45+
final var instance = NullNode.getInstance();
4646
assertNotNull(instance);
4747
assertSame(instance, NullNode.getInstance());
4848
}
4949

5050
@Test
5151
public void testFields() {
52-
final NullNode node = NullNode.getInstance();
52+
final var node = NullNode.getInstance();
5353
assertEquals(0, node.getTreeSize());
5454
assertNull(node.getName());
5555
assertNull(node.getLeft());

null-object/src/test/java/com/iluwatar/nullobject/TreeTest.java

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,21 @@
2323

2424
package com.iluwatar.nullobject;
2525

26+
import static org.junit.jupiter.api.Assertions.assertEquals;
27+
import static org.junit.jupiter.api.Assertions.assertNotNull;
28+
import static org.junit.jupiter.api.Assertions.assertSame;
29+
import static org.junit.jupiter.api.Assertions.assertTrue;
30+
2631
import ch.qos.logback.classic.Logger;
2732
import ch.qos.logback.classic.spi.ILoggingEvent;
2833
import ch.qos.logback.core.AppenderBase;
34+
import java.util.LinkedList;
35+
import java.util.List;
2936
import org.junit.jupiter.api.AfterEach;
3037
import org.junit.jupiter.api.BeforeEach;
3138
import org.junit.jupiter.api.Test;
3239
import org.slf4j.LoggerFactory;
3340

34-
import java.util.LinkedList;
35-
import java.util.List;
36-
37-
import static org.junit.jupiter.api.Assertions.assertEquals;
38-
import static org.junit.jupiter.api.Assertions.assertNotNull;
39-
import static org.junit.jupiter.api.Assertions.assertSame;
40-
import static org.junit.jupiter.api.Assertions.assertTrue;
41-
4241
/**
4342
* Date: 12/26/15 - 11:44 PM
4443
*
@@ -75,12 +74,12 @@ public void tearDown() {
7574
private static final Node TREE_ROOT;
7675

7776
static {
78-
final NodeImpl level1B = new NodeImpl("level1_b", NullNode.getInstance(), NullNode.getInstance());
79-
final NodeImpl level2B = new NodeImpl("level2_b", NullNode.getInstance(), NullNode.getInstance());
80-
final NodeImpl level3A = new NodeImpl("level3_a", NullNode.getInstance(), NullNode.getInstance());
81-
final NodeImpl level3B = new NodeImpl("level3_b", NullNode.getInstance(), NullNode.getInstance());
82-
final NodeImpl level2A = new NodeImpl("level2_a", level3A, level3B);
83-
final NodeImpl level1A = new NodeImpl("level1_a", level2A, level2B);
77+
final var level1B = new NodeImpl("level1_b", NullNode.getInstance(), NullNode.getInstance());
78+
final var level2B = new NodeImpl("level2_b", NullNode.getInstance(), NullNode.getInstance());
79+
final var level3A = new NodeImpl("level3_a", NullNode.getInstance(), NullNode.getInstance());
80+
final var level3B = new NodeImpl("level3_b", NullNode.getInstance(), NullNode.getInstance());
81+
final var level2A = new NodeImpl("level2_a", level3A, level3B);
82+
final var level1A = new NodeImpl("level1_a", level2A, level2B);
8483
TREE_ROOT = new NodeImpl("root", level1A, level1B);
8584
}
8685

@@ -112,17 +111,17 @@ public void testWalk() {
112111

113112
@Test
114113
public void testGetLeft() {
115-
final Node level1 = TREE_ROOT.getLeft();
114+
final var level1 = TREE_ROOT.getLeft();
116115
assertNotNull(level1);
117116
assertEquals("level1_a", level1.getName());
118117
assertEquals(5, level1.getTreeSize());
119118

120-
final Node level2 = level1.getLeft();
119+
final var level2 = level1.getLeft();
121120
assertNotNull(level2);
122121
assertEquals("level2_a", level2.getName());
123122
assertEquals(3, level2.getTreeSize());
124123

125-
final Node level3 = level2.getLeft();
124+
final var level3 = level2.getLeft();
126125
assertNotNull(level3);
127126
assertEquals("level3_a", level3.getName());
128127
assertEquals(1, level3.getTreeSize());
@@ -132,15 +131,15 @@ public void testGetLeft() {
132131

133132
@Test
134133
public void testGetRight() {
135-
final Node level1 = TREE_ROOT.getRight();
134+
final var level1 = TREE_ROOT.getRight();
136135
assertNotNull(level1);
137136
assertEquals("level1_b", level1.getName());
138137
assertEquals(1, level1.getTreeSize());
139138
assertSame(NullNode.getInstance(), level1.getRight());
140139
assertSame(NullNode.getInstance(), level1.getLeft());
141140
}
142141

143-
private class InMemoryAppender extends AppenderBase<ILoggingEvent> {
142+
private static class InMemoryAppender extends AppenderBase<ILoggingEvent> {
144143
private final List<ILoggingEvent> log = new LinkedList<>();
145144

146145
public InMemoryAppender() {
@@ -154,7 +153,7 @@ protected void append(ILoggingEvent eventObject) {
154153
}
155154

156155
public boolean logContains(String message) {
157-
return log.stream().anyMatch(event -> event.getMessage().equals(message));
156+
return log.stream().map(ILoggingEvent::getMessage).anyMatch(message::equals);
158157
}
159158

160159
public int getLogSize() {

0 commit comments

Comments
 (0)