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 {
private static Map<NazgulName, Nazgul> nazguls;
private static final Map<NazgulName, Nazgul> nazguls;
private NazgulName name;

View File

@ -27,7 +27,13 @@ package com.iluwatar.multiton;
* enum based multiton implementation.
*/
public enum NazgulEnum {
KHAMUL, MURAZOR, DWAR, JI_INDUR, AKHORAHIL, HOARMURATH, ADUNAPHEL, REN, UVATHA;
KHAMUL,
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}.
*/
public enum NazgulName {
KHAMUL, MURAZOR, DWAR, JI_INDUR, AKHORAHIL, HOARMURATH, ADUNAPHEL, REN, UVATHA;
KHAMUL,
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;
/**
*
* Application test
*
*/
public class AppTest {
@Test
public void test() {
String[] args = {};
App.main(args);
App.main(new String[]{});
}
}

View File

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

View File

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