Java 11 migraiton: multiton
This commit is contained in:
parent
109d33c710
commit
9b105d770d
@ -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;
|
||||||
|
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
@ -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());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user