diff options
| author | Paul Buetow <paul@buetow.org> | 2025-06-22 16:45:17 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-06-22 16:45:17 +0300 |
| commit | 4c16cc3c4da7bbf8375d7951185db1761eb396bf (patch) | |
| tree | 19199b664ce802ed3e967e318e6d4ffeb8c9bf39 /src/test/java/simulator | |
| parent | 464df52901e2dcb84eb81a22f2db19cbf17e5a9f (diff) | |
Remove all Raft protocol code
Removed all Raft-related code as it was not working properly:
- Removed VSRaftProtocol.java implementation
- Removed all Raft test files
- Removed Raft example/demo files
- Removed Raft documentation
- Removed Raft simulation files (.dat)
- Removed Raft scripts
- Updated VSRegisteredEvents to remove Raft registration
- Updated SimulationBuilder to remove RAFT constant
- Updated SimulationFactory to remove Raft methods
- Updated SimulationBuilderTest to remove Raft tests
- Updated pom.xml to remove Raft test configurations
The protocol had issues with leader election not completing in GUI mode.
🤖 Generated with Claude Code
https://claude.ai/code
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'src/test/java/simulator')
| -rw-r--r-- | src/test/java/simulator/SimpleRaftGUITest.java | 66 | ||||
| -rw-r--r-- | src/test/java/simulator/builder/SimulationBuilderTest.java | 44 |
2 files changed, 1 insertions, 109 deletions
diff --git a/src/test/java/simulator/SimpleRaftGUITest.java b/src/test/java/simulator/SimpleRaftGUITest.java deleted file mode 100644 index 3697db2..0000000 --- a/src/test/java/simulator/SimpleRaftGUITest.java +++ /dev/null @@ -1,66 +0,0 @@ -package simulator; - -import org.junit.jupiter.api.*; -import static org.junit.jupiter.api.Assertions.*; - -import core.*; -import prefs.*; -import events.*; -import serialize.VSSerialize; - -import java.io.File; -import java.lang.reflect.*; - -/** - * Simple GUI test for Raft simulation to verify it loads and runs. - */ -public class SimpleRaftGUITest { - - @Test - @DisplayName("Test loading Raft simulation file") - public void testLoadRaftSimulation() throws Exception { - // Initialize - VSDefaultPrefs prefs = new VSDefaultPrefs(); - prefs.fillWithDefaults(); - VSRegisteredEvents.init(prefs); - - // Check if simulation file exists - File simFile = new File("saved-simulations/raft-working.dat"); - assertTrue(simFile.exists(), "Raft simulation file should exist"); - - // Load simulation - VSSimulatorFrame frame = new VSSimulatorFrame(prefs, null); - VSSerialize serialize = new VSSerialize(); - VSSimulator simulator = serialize.openSimulator(simFile.getAbsolutePath(), frame); - - assertNotNull(simulator, "Simulator should be loaded"); - - // Access visualization - Field vizField = VSSimulator.class.getDeclaredField("simulatorVisualization"); - vizField.setAccessible(true); - VSSimulatorVisualization viz = (VSSimulatorVisualization) vizField.get(simulator); - - // Verify basic properties - assertTrue(viz.getNumProcesses() >= 5, "Should have at least 5 processes"); - - // Check task manager - VSTaskManager taskManager = viz.getTaskManager(); - assertNotNull(taskManager, "Task manager should exist"); - - // Get task count using reflection - Field tasksField = VSTaskManager.class.getDeclaredField("tasks"); - tasksField.setAccessible(true); - Object taskQueue = tasksField.get(taskManager); - Method sizeMethod = taskQueue.getClass().getMethod("size"); - int taskCount = (Integer) sizeMethod.invoke(taskQueue); - - assertTrue(taskCount > 0, "Should have scheduled tasks"); - - frame.dispose(); - - System.out.println("\n=== Test Results ==="); - System.out.println("✓ Raft simulation loads successfully"); - System.out.println("✓ Processes: " + viz.getNumProcesses()); - System.out.println("✓ Scheduled tasks: " + taskCount); - } -}
\ No newline at end of file diff --git a/src/test/java/simulator/builder/SimulationBuilderTest.java b/src/test/java/simulator/builder/SimulationBuilderTest.java index 82860f0..5061477 100644 --- a/src/test/java/simulator/builder/SimulationBuilderTest.java +++ b/src/test/java/simulator/builder/SimulationBuilderTest.java @@ -29,43 +29,6 @@ class SimulationBuilderTest { } } - @Test - void testCreateBasicRaftSimulation() throws Exception { - String filename = TEST_DIR + "test-raft.dat"; - - // Create a basic Raft simulation - new SimulationBuilder() - .withProcesses(3) - .withProtocol(SimulationBuilder.Protocols.RAFT) - .activateServers(0, 1, 2) - .save(filename); - - // Verify file was created - File file = new File(filename); - assertTrue(file.exists(), "Simulation file should be created"); - assertTrue(file.length() > 1000, "File should have content"); - - // Verify it contains Raft protocol - String content = Files.readString(file.toPath()); - assertTrue(content.contains("VSRaftProtocol"), "Should contain Raft protocol classname"); - } - - @Test - void testCreateRaftWithClients() throws Exception { - String filename = TEST_DIR + "test-raft-clients.dat"; - - // Use factory method - SimulationFactory.createRaftSimulation(3, 2) - .save(filename); - - // Verify file was created - File file = new File(filename); - assertTrue(file.exists(), "Simulation file should be created"); - - // Should have 5 processes (3 servers + 2 clients) - String content = Files.readString(file.toPath()); - assertTrue(content.contains("VSRaftProtocol"), "Should contain Raft protocol"); - } @Test void testCreatePingPongSimulation() throws Exception { @@ -88,7 +51,7 @@ class SimulationBuilderTest { // Create a complex simulation with events new SimulationBuilder() .withProcesses(5) - .withProtocol(SimulationBuilder.Protocols.RAFT) + .withProtocol(SimulationBuilder.Protocols.TWO_PHASE_COMMIT) .withDuration(30000) .activateServers(0, 1, 2) .activateClients(1000, 3, 4) @@ -109,7 +72,6 @@ class SimulationBuilderTest { void testAllProtocolTypes() throws Exception { // Test that all protocol constants work String[] protocols = { - SimulationBuilder.Protocols.RAFT, SimulationBuilder.Protocols.PING_PONG, SimulationBuilder.Protocols.BERKLEY_TIME, SimulationBuilder.Protocols.BROADCAST, @@ -137,10 +99,6 @@ class SimulationBuilderTest { void testInvalidConfiguration() { // Test that invalid configurations throw exceptions assertThrows(IllegalArgumentException.class, () -> { - SimulationFactory.createRaftSimulation(2, 0); // Too few servers - }); - - assertThrows(IllegalArgumentException.class, () -> { SimulationFactory.createBerkeleyTimeSimulation(1); // Too few processes }); } |
