Java 11 migraiton: multiton

This commit is contained in:
Anurag Agarwal 2020-04-12 22:51:37 +00:00
parent 109d33c710
commit 9b105d770d
No known key found for this signature in database
GPG Key ID: CF5E14552DA23F13
6 changed files with 26 additions and 17 deletions

View File

@ -31,7 +31,7 @@ import java.util.concurrent.ConcurrentHashMap;
*/ */
public final class Nazgul { public final class Nazgul {
private static Map<NazgulName, Nazgul> nazguls; private static final Map<NazgulName, Nazgul> nazguls;
private NazgulName name; private NazgulName name;

View File

@ -27,7 +27,13 @@ package com.iluwatar.multiton;
* enum based multiton implementation. * enum based multiton implementation.
*/ */
public enum NazgulEnum { public enum NazgulEnum {
KHAMUL,
KHAMUL, MURAZOR, DWAR, JI_INDUR, AKHORAHIL, HOARMURATH, ADUNAPHEL, REN, UVATHA; MURAZOR,
DWAR,
JI_INDUR,
AKHORAHIL,
HOARMURATH,
ADUNAPHEL,
REN,
UVATHA
} }

View File

@ -27,7 +27,13 @@ package com.iluwatar.multiton;
* Each Nazgul has different {@link NazgulName}. * Each Nazgul has different {@link NazgulName}.
*/ */
public enum NazgulName { public enum NazgulName {
KHAMUL,
KHAMUL, MURAZOR, DWAR, JI_INDUR, AKHORAHIL, HOARMURATH, ADUNAPHEL, REN, UVATHA; MURAZOR,
DWAR,
JI_INDUR,
AKHORAHIL,
HOARMURATH,
ADUNAPHEL,
REN,
UVATHA
} }

View File

@ -26,15 +26,12 @@ package com.iluwatar.multiton;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
/** /**
*
* Application test * Application test
*
*/ */
public class AppTest { public class AppTest {
@Test @Test
public void test() { public void test() {
String[] args = {}; App.main(new String[]{});
App.main(args);
} }
} }

View File

@ -39,10 +39,10 @@ class NazgulEnumTest {
*/ */
@Test @Test
public void testTheSameObjectIsReturnedWithMultipleCalls() { public void testTheSameObjectIsReturnedWithMultipleCalls() {
for (int i = 0; i < NazgulEnum.values().length; i++) { for (var i = 0; i < NazgulEnum.values().length; i++) {
NazgulEnum instance1 = NazgulEnum.values()[i]; var instance1 = NazgulEnum.values()[i];
NazgulEnum instance2 = NazgulEnum.values()[i]; var instance2 = NazgulEnum.values()[i];
NazgulEnum instance3 = NazgulEnum.values()[i]; var instance3 = NazgulEnum.values()[i];
assertSame(instance1, instance2); assertSame(instance1, instance2);
assertSame(instance1, instance3); assertSame(instance1, instance3);
assertSame(instance2, instance3); assertSame(instance2, instance3);

View File

@ -41,8 +41,8 @@ public class NazgulTest {
*/ */
@Test @Test
public void testGetInstance() { public void testGetInstance() {
for (final NazgulName name : NazgulName.values()) { for (final var name : NazgulName.values()) {
final Nazgul nazgul = Nazgul.getInstance(name); final var nazgul = Nazgul.getInstance(name);
assertNotNull(nazgul); assertNotNull(nazgul);
assertSame(nazgul, Nazgul.getInstance(name)); assertSame(nazgul, Nazgul.getInstance(name));
assertEquals(name, nazgul.getName()); assertEquals(name, nazgul.getName());