diff --git a/visitor/src/main/java/Singleton.java b/visitor/src/main/java/Singleton.java new file mode 100644 index 000000000000..80efe731f4a2 --- /dev/null +++ b/visitor/src/main/java/Singleton.java @@ -0,0 +1,24 @@ +public class Singleton { + + // Variable estática que contiene la instancia única de la clase + private static Singleton instance; + + // Constructor privado para evitar la creación de múltiples instancias + private Singleton() { + // Constructor privado para prevenir la instanciación + } + + // Método público que retorna la única instancia de la clase + public static Singleton getInstance() { + // Verifica si la instancia es nula y la crea si es necesario + if (instance == null) { + instance = new Singleton(); + } + return instance; + } + + // Método de ejemplo que representa la funcionalidad de la clase Singleton + public void showMessage() { + System.out.println("¡Hola desde Singleton!"); + } +} diff --git a/visitor/src/test/java/com/iluwatar/visitor/SingletonTest.java b/visitor/src/test/java/com/iluwatar/visitor/SingletonTest.java new file mode 100644 index 000000000000..70c9391424ca --- /dev/null +++ b/visitor/src/test/java/com/iluwatar/visitor/SingletonTest.java @@ -0,0 +1,23 @@ +package com.iluwatar.visitor; + +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class SingletonTest { + + @Test + public void testSingletonInstance() { + // Obtiene dos instancias de Singleton + Singleton instance1 = Singleton.getInstance(); + Singleton instance2 = Singleton.getInstance(); + + // Verifica que ambas instancias sean iguales (Singleton garantiza una única instancia) + assertSame(instance1, instance2, "Las dos instancias deberían ser iguales"); + + // Verifica el comportamiento del método en Singleton + instance1.showMessage(); + } + + private void assertSame(Singleton instance1, Singleton instance2, String s) { + } +} diff --git a/visitor/target/classes/Singleton.class b/visitor/target/classes/Singleton.class new file mode 100644 index 000000000000..205f0c20e824 Binary files /dev/null and b/visitor/target/classes/Singleton.class differ diff --git a/visitor/target/classes/com/iluwatar/visitor/App.class b/visitor/target/classes/com/iluwatar/visitor/App.class new file mode 100644 index 000000000000..fd9486f43e08 Binary files /dev/null and b/visitor/target/classes/com/iluwatar/visitor/App.class differ diff --git a/visitor/target/classes/com/iluwatar/visitor/Commander.class b/visitor/target/classes/com/iluwatar/visitor/Commander.class new file mode 100644 index 000000000000..6d84fd343752 Binary files /dev/null and b/visitor/target/classes/com/iluwatar/visitor/Commander.class differ diff --git a/visitor/target/classes/com/iluwatar/visitor/CommanderVisitor.class b/visitor/target/classes/com/iluwatar/visitor/CommanderVisitor.class new file mode 100644 index 000000000000..a68ef26e2aff Binary files /dev/null and b/visitor/target/classes/com/iluwatar/visitor/CommanderVisitor.class differ diff --git a/visitor/target/classes/com/iluwatar/visitor/Sergeant.class b/visitor/target/classes/com/iluwatar/visitor/Sergeant.class new file mode 100644 index 000000000000..edc147753c95 Binary files /dev/null and b/visitor/target/classes/com/iluwatar/visitor/Sergeant.class differ diff --git a/visitor/target/classes/com/iluwatar/visitor/SergeantVisitor.class b/visitor/target/classes/com/iluwatar/visitor/SergeantVisitor.class new file mode 100644 index 000000000000..a099d9014a1a Binary files /dev/null and b/visitor/target/classes/com/iluwatar/visitor/SergeantVisitor.class differ diff --git a/visitor/target/classes/com/iluwatar/visitor/Soldier.class b/visitor/target/classes/com/iluwatar/visitor/Soldier.class new file mode 100644 index 000000000000..c9ef1d2f9ee0 Binary files /dev/null and b/visitor/target/classes/com/iluwatar/visitor/Soldier.class differ diff --git a/visitor/target/classes/com/iluwatar/visitor/SoldierVisitor.class b/visitor/target/classes/com/iluwatar/visitor/SoldierVisitor.class new file mode 100644 index 000000000000..5c4a39d816c2 Binary files /dev/null and b/visitor/target/classes/com/iluwatar/visitor/SoldierVisitor.class differ diff --git a/visitor/target/classes/com/iluwatar/visitor/Unit.class b/visitor/target/classes/com/iluwatar/visitor/Unit.class new file mode 100644 index 000000000000..7fdb33cabb85 Binary files /dev/null and b/visitor/target/classes/com/iluwatar/visitor/Unit.class differ diff --git a/visitor/target/classes/com/iluwatar/visitor/UnitVisitor.class b/visitor/target/classes/com/iluwatar/visitor/UnitVisitor.class new file mode 100644 index 000000000000..9f4ca60ef13e Binary files /dev/null and b/visitor/target/classes/com/iluwatar/visitor/UnitVisitor.class differ