From 3be2d3d9f497847af978b1615c9bfe5c48a360bd Mon Sep 17 00:00:00 2001 From: Jona Walpert Date: Fri, 10 Apr 2026 14:58:00 +0200 Subject: [PATCH] Fix: Chekstyle naming convention --- .../server/domain/user/UserFactoryTest.java | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserFactoryTest.java diff --git a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserFactoryTest.java b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserFactoryTest.java new file mode 100644 index 0000000..edb6238 --- /dev/null +++ b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserFactoryTest.java @@ -0,0 +1,67 @@ +package ch.unibas.dmi.dbis.cs108.casono.server.domain.user; + +import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +/** + * Tests for {@link UserFactory} and {@link UserRegistry} name assignment + * behavior. + */ +public class UserFactoryTest { + + // Logger removed as per patch requirement + + @Test + public void createUsersWithDuplicateDesiredNamesAssignsUniqueNames() { + UserRegistry registry = new UserRegistry(); + UserFactory factory = new UserFactory(registry); + + SessionId s1 = new SessionId(); + SessionId s2 = new SessionId(); + SessionId s3 = new SessionId(); + + // Create first user with desired name "Alice" + User u1 = factory.create("Alice", s1); + // Create second user requesting the same name + User u2 = factory.create("Alice", s2); + // Create third user requesting the same name again + User u3 = factory.create("Alice", s3); + + assertNotNull(u1); + assertNotNull(u2); + assertNotNull(u3); + + // All assigned names must be distinct + String n1 = u1.getName(); + String n2 = u2.getName(); + String n3 = u3.getName(); + + // assigned names: n1, n2, n3 + + assertNotEquals(n1, n2); + assertNotEquals(n1, n3); + assertNotEquals(n2, n3); + + // Registry should contain all assigned names + assertTrue(registry.getByUsername(n1).isPresent()); + assertTrue(registry.getByUsername(n2).isPresent()); + assertTrue(registry.getByUsername(n3).isPresent()); + } + + @Test + public void createUserWithNullDesiredAssignsPlayerN() { + UserRegistry registry = new UserRegistry(); + UserFactory factory = new UserFactory(registry); + + SessionId s1 = new SessionId(); + + User u = factory.create(null, s1); + assertNotNull(u); + String name = u.getName(); + // assigned anonymous name: name + assertTrue(name.startsWith("player"), "expected automatic name starting with 'player'"); + assertTrue(registry.getByUsername(name).isPresent()); + } +}