From 449841e0ed4dafba13291381f4a4f8fe24585091 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 16:47:08 +0100 Subject: [PATCH 01/21] Added spawn to Ghost.java --- src/main/java/pacmanGame/Ghost.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/pacmanGame/Ghost.java b/src/main/java/pacmanGame/Ghost.java index 26e9845..7868fea 100644 --- a/src/main/java/pacmanGame/Ghost.java +++ b/src/main/java/pacmanGame/Ghost.java @@ -19,4 +19,8 @@ public class Ghost { public void move(Vector2 direction) { this.position = this.position.Add(direction); } + + public void spawn() { + + } } From 41abb93e7b59ceab86b063193cce5973f39fb1be Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 17:23:25 +0100 Subject: [PATCH 02/21] refactoring: Making the ghost spawns readable --- src/main/java/pacmanGame/GameManager.java | 8 +++--- src/main/java/pacmanGame/Ghost.java | 2 +- src/main/java/pacmanGame/Map.java | 34 ++++++++--------------- 3 files changed, 16 insertions(+), 28 deletions(-) diff --git a/src/main/java/pacmanGame/GameManager.java b/src/main/java/pacmanGame/GameManager.java index 21ea44a..8d42687 100644 --- a/src/main/java/pacmanGame/GameManager.java +++ b/src/main/java/pacmanGame/GameManager.java @@ -15,14 +15,14 @@ public class GameManager { } public void setupGame(){ + ghosts = new Ghost[4]; + for (int i = 0; i < ghosts.length; i++) { + ghosts[i] = new Ghost(this, i); + } map = new Map(Map.mapClassic, this); visualizer = new VisualizerPlainText(this); player = new Player(this); player.Spawn(); - ghosts = new Ghost[4]; - for (int i = 0; i < ghosts.length; i++) { - ghosts[i] = new Ghost(this, i); - } } public void Update() { visualizer.Update(); diff --git a/src/main/java/pacmanGame/Ghost.java b/src/main/java/pacmanGame/Ghost.java index 7868fea..29704a4 100644 --- a/src/main/java/pacmanGame/Ghost.java +++ b/src/main/java/pacmanGame/Ghost.java @@ -21,6 +21,6 @@ public class Ghost { } public void spawn() { - + //this.position = gameManager.map; } } diff --git a/src/main/java/pacmanGame/Map.java b/src/main/java/pacmanGame/Map.java index 21051b1..e88dc7e 100644 --- a/src/main/java/pacmanGame/Map.java +++ b/src/main/java/pacmanGame/Map.java @@ -68,10 +68,11 @@ public class Map { public Vector2 playerSpawn = new Vector2(2,2); public char playerSpawnChar = 's'; + public Map(String[] mapData, GameManager gameManager) { - GenerateMap(mapData); this.gameManager = gameManager; + GenerateMap(mapData); } public void GenerateMap(String[] mapData) { @@ -82,6 +83,8 @@ public class Map { cells = new Cell[size.x][size.y]; + ghostSpawns = new Vector2[10]; + for(int x = 0; x < size.x; x++) { for(int y = 0; y < size.y; y++) { Vector2 cellPos = new Vector2(x,y); @@ -92,6 +95,12 @@ public class Map { cells[x][y] = new Cell(cellPos, cellType, this); + for(int i = 0; i < gameManager.ghosts.length; i++) { + if(cellChar == ghostSpawnChars.charAt(i)) { + ghostSpawns[i] = cellPos.Clone(); + } + } + if(cellChar == playerSpawnChar) { playerSpawn = cellPos.Clone(); } @@ -110,28 +119,7 @@ public class Map { } } - private void initializeGhostSpawns() { - int count = 0; - for (int y = 0; y < mapClassic.length; y++) { - for (int x = 0; x < mapClassic[y].length(); x++) { - char cellChar = mapClassic[y].charAt(x); - if (ghostSpawnChars.indexOf(cellChar) != -1) { - count++; - } - } - } - ghostSpawns = new Vector2[count]; - count = 0; - for (int y = 0; y < mapClassic.length; y++) { - for (int x = 0; x < mapClassic[y].length(); x++) { - char cellChar = mapClassic[y].charAt(x); - if (ghostSpawnChars.indexOf(cellChar) != -1) { - ghostSpawns[count++] = new Vector2(x, mapClassic.length - 1 - y); - } - } - } - } - + public String FindPath(Vector2 from, Vector2 to) { char[][] tempMap = new char[size.x][size.y]; From 164f4f38a90e4317f34231cc8ffd0e12a2f0824f Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 17:27:16 +0100 Subject: [PATCH 03/21] Implemented ghost spawn --- src/main/java/pacmanGame/Ghost.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/pacmanGame/Ghost.java b/src/main/java/pacmanGame/Ghost.java index 29704a4..40bc53d 100644 --- a/src/main/java/pacmanGame/Ghost.java +++ b/src/main/java/pacmanGame/Ghost.java @@ -21,6 +21,6 @@ public class Ghost { } public void spawn() { - //this.position = gameManager.map; + this.position = gameManager.map.ghostSpawns[ghostNumber]; } } From b35900527177c7e62cd318badc34f875e6536588 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 17:29:21 +0100 Subject: [PATCH 04/21] refactoring: Fixed ghosts changing own spawn while moving --- src/main/java/pacmanGame/Ghost.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/pacmanGame/Ghost.java b/src/main/java/pacmanGame/Ghost.java index 40bc53d..a7acce0 100644 --- a/src/main/java/pacmanGame/Ghost.java +++ b/src/main/java/pacmanGame/Ghost.java @@ -21,6 +21,6 @@ public class Ghost { } public void spawn() { - this.position = gameManager.map.ghostSpawns[ghostNumber]; + this.position = gameManager.map.ghostSpawns[ghostNumber].Clone(); } } From eb4a5b539fef915e8e7617c20d5e900610b9604f Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 17:35:32 +0100 Subject: [PATCH 05/21] Really for sure implemented ghost spawns and made them visible --- src/main/java/pacmanGame/GameManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/pacmanGame/GameManager.java b/src/main/java/pacmanGame/GameManager.java index 8d42687..3433aab 100644 --- a/src/main/java/pacmanGame/GameManager.java +++ b/src/main/java/pacmanGame/GameManager.java @@ -23,7 +23,11 @@ public class GameManager { visualizer = new VisualizerPlainText(this); player = new Player(this); player.Spawn(); + for (int i = 0; i < ghosts.length; i++) { + ghosts[i].spawn(); + } } + public void Update() { visualizer.Update(); if(time%5 == 0) { From 4c0eef8e3da194afc685cfa3d138d9c53d468e91 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 18:11:04 +0100 Subject: [PATCH 06/21] Added ghost sprite BB --- src/main/java/pacmanGame/VisualizerPlainText.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/pacmanGame/VisualizerPlainText.java b/src/main/java/pacmanGame/VisualizerPlainText.java index 9e71590..fb11fd1 100644 --- a/src/main/java/pacmanGame/VisualizerPlainText.java +++ b/src/main/java/pacmanGame/VisualizerPlainText.java @@ -15,6 +15,7 @@ public class VisualizerPlainText implements Visualizer { }}; public final String ghostSprite = "AA"; + public final String ghostSprite1 = "BB"; public final String playerSprite = "()"; public VisualizerPlainText(GameManager gameManager) { From e26911d19c92e84c792863052ee01851a28f16f3 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 18:12:35 +0100 Subject: [PATCH 07/21] Added ghost sprite CC --- src/main/java/pacmanGame/VisualizerPlainText.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/pacmanGame/VisualizerPlainText.java b/src/main/java/pacmanGame/VisualizerPlainText.java index fb11fd1..62b74df 100644 --- a/src/main/java/pacmanGame/VisualizerPlainText.java +++ b/src/main/java/pacmanGame/VisualizerPlainText.java @@ -16,6 +16,7 @@ public class VisualizerPlainText implements Visualizer { public final String ghostSprite = "AA"; public final String ghostSprite1 = "BB"; + public final String ghostSprite2 = "CC"; public final String playerSprite = "()"; public VisualizerPlainText(GameManager gameManager) { From 30bbbe5624787cd32d1fc07615feb3f4d98584bb Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 18:14:17 +0100 Subject: [PATCH 08/21] Added ghost sprite DD --- src/main/java/pacmanGame/VisualizerPlainText.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/pacmanGame/VisualizerPlainText.java b/src/main/java/pacmanGame/VisualizerPlainText.java index 62b74df..0251720 100644 --- a/src/main/java/pacmanGame/VisualizerPlainText.java +++ b/src/main/java/pacmanGame/VisualizerPlainText.java @@ -17,6 +17,7 @@ public class VisualizerPlainText implements Visualizer { public final String ghostSprite = "AA"; public final String ghostSprite1 = "BB"; public final String ghostSprite2 = "CC"; + public final String ghostSprite3 = "DD"; public final String playerSprite = "()"; public VisualizerPlainText(GameManager gameManager) { From dae3990210b9a1d8e45fa20c8e43f369e7bb53f7 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 18:15:41 +0100 Subject: [PATCH 09/21] Added ghost sprite EE --- src/main/java/pacmanGame/VisualizerPlainText.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/pacmanGame/VisualizerPlainText.java b/src/main/java/pacmanGame/VisualizerPlainText.java index 0251720..593bfcf 100644 --- a/src/main/java/pacmanGame/VisualizerPlainText.java +++ b/src/main/java/pacmanGame/VisualizerPlainText.java @@ -18,6 +18,7 @@ public class VisualizerPlainText implements Visualizer { public final String ghostSprite1 = "BB"; public final String ghostSprite2 = "CC"; public final String ghostSprite3 = "DD"; + public final String ghostSprite4 = "EE"; public final String playerSprite = "()"; public VisualizerPlainText(GameManager gameManager) { From d5c2cfde7edfc85ca7a3919d3d30b5eb623fe69d Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 18:18:57 +0100 Subject: [PATCH 10/21] Added ghost sprite FF --- src/main/java/pacmanGame/VisualizerPlainText.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/pacmanGame/VisualizerPlainText.java b/src/main/java/pacmanGame/VisualizerPlainText.java index 593bfcf..625749c 100644 --- a/src/main/java/pacmanGame/VisualizerPlainText.java +++ b/src/main/java/pacmanGame/VisualizerPlainText.java @@ -19,6 +19,7 @@ public class VisualizerPlainText implements Visualizer { public final String ghostSprite2 = "CC"; public final String ghostSprite3 = "DD"; public final String ghostSprite4 = "EE"; + public final String ghostSprite5 = "FF"; public final String playerSprite = "()"; public VisualizerPlainText(GameManager gameManager) { From 03dd6ebbd268232ef36a7163f13660d6c71a2562 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 18:24:16 +0100 Subject: [PATCH 11/21] Added ghost sprite GG --- src/main/java/pacmanGame/VisualizerPlainText.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/pacmanGame/VisualizerPlainText.java b/src/main/java/pacmanGame/VisualizerPlainText.java index 625749c..0e06aa0 100644 --- a/src/main/java/pacmanGame/VisualizerPlainText.java +++ b/src/main/java/pacmanGame/VisualizerPlainText.java @@ -20,6 +20,7 @@ public class VisualizerPlainText implements Visualizer { public final String ghostSprite3 = "DD"; public final String ghostSprite4 = "EE"; public final String ghostSprite5 = "FF"; + public final String ghostSprite6 = "GG"; public final String playerSprite = "()"; public VisualizerPlainText(GameManager gameManager) { From c89ff6dcea7cb0c18171549f61ec475b6f1cf979 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 18:25:51 +0100 Subject: [PATCH 12/21] Added ghost sprite HH --- src/main/java/pacmanGame/VisualizerPlainText.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/pacmanGame/VisualizerPlainText.java b/src/main/java/pacmanGame/VisualizerPlainText.java index 0e06aa0..1b5cba5 100644 --- a/src/main/java/pacmanGame/VisualizerPlainText.java +++ b/src/main/java/pacmanGame/VisualizerPlainText.java @@ -21,6 +21,7 @@ public class VisualizerPlainText implements Visualizer { public final String ghostSprite4 = "EE"; public final String ghostSprite5 = "FF"; public final String ghostSprite6 = "GG"; + public final String ghostSprite7 = "HH"; public final String playerSprite = "()"; public VisualizerPlainText(GameManager gameManager) { From 0cec4210697e1283b8c2d61092a2d4ca11aaeaf8 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 18:33:06 +0100 Subject: [PATCH 13/21] Added ghost sprite II --- src/main/java/pacmanGame/VisualizerPlainText.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/pacmanGame/VisualizerPlainText.java b/src/main/java/pacmanGame/VisualizerPlainText.java index 1b5cba5..0c16b1a 100644 --- a/src/main/java/pacmanGame/VisualizerPlainText.java +++ b/src/main/java/pacmanGame/VisualizerPlainText.java @@ -22,6 +22,7 @@ public class VisualizerPlainText implements Visualizer { public final String ghostSprite5 = "FF"; public final String ghostSprite6 = "GG"; public final String ghostSprite7 = "HH"; + public final String ghostSprite8 = "II"; public final String playerSprite = "()"; public VisualizerPlainText(GameManager gameManager) { From fcf8e71d81f0bec9195ef39b092dfbd6126652f5 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 18:34:38 +0100 Subject: [PATCH 14/21] Added ghost sprite JJ --- src/main/java/pacmanGame/VisualizerPlainText.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/pacmanGame/VisualizerPlainText.java b/src/main/java/pacmanGame/VisualizerPlainText.java index 0c16b1a..330d7f5 100644 --- a/src/main/java/pacmanGame/VisualizerPlainText.java +++ b/src/main/java/pacmanGame/VisualizerPlainText.java @@ -23,6 +23,7 @@ public class VisualizerPlainText implements Visualizer { public final String ghostSprite6 = "GG"; public final String ghostSprite7 = "HH"; public final String ghostSprite8 = "II"; + public final String ghostSprite9 = "JJ"; public final String playerSprite = "()"; public VisualizerPlainText(GameManager gameManager) { From d170004c363f9a035a279d4b91eaded71dcf5af4 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 19:01:29 +0100 Subject: [PATCH 15/21] refactoring: Fixed ghost count stuck at 4 --- src/main/java/pacmanGame/GameManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/pacmanGame/GameManager.java b/src/main/java/pacmanGame/GameManager.java index 3433aab..5cdb53b 100644 --- a/src/main/java/pacmanGame/GameManager.java +++ b/src/main/java/pacmanGame/GameManager.java @@ -9,13 +9,14 @@ public class GameManager { public int score = 0; public boolean ghostIsEdible = false; public boolean isPaused; + public final int ghostCount = 10; public GameManager() { setupGame(); } public void setupGame(){ - ghosts = new Ghost[4]; + ghosts = new Ghost[ghostCount]; for (int i = 0; i < ghosts.length; i++) { ghosts[i] = new Ghost(this, i); } From 4d502c322d0e1b2bd0966f909457ee1577ccc081 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 19:03:00 +0100 Subject: [PATCH 16/21] Added a ghost spawn unit test in GameManagerTest --- src/test/java/pacmanTests/GameManagerTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/test/java/pacmanTests/GameManagerTest.java b/src/test/java/pacmanTests/GameManagerTest.java index 175852b..6838cb3 100644 --- a/src/test/java/pacmanTests/GameManagerTest.java +++ b/src/test/java/pacmanTests/GameManagerTest.java @@ -75,4 +75,17 @@ class GameManagerTest { // assert assertThat(colision).isEqualTo(expected); } + @Test + void GameManager_setupgame_spawnsghosts() { + + // arrange + GameManager gameManager = new GameManager(); + gameManager.map.ghostSpawns[0] = new Vector2(1, 1); + Vector2 expectedPosition = new Vector2(1, 1); + // act + gameManager.ghosts[0].spawn(); + Vector2 ghostPositeion = gameManager.ghosts[0].position; + // assert + assertThat(ghostPositeion).isEqualTo(expectedPosition); + } } From e703872d5d37a547f6192dbce1943f914a258324 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 19:07:32 +0100 Subject: [PATCH 17/21] refactoring: Fixed typo --- src/test/java/pacmanTests/GameManagerTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/pacmanTests/GameManagerTest.java b/src/test/java/pacmanTests/GameManagerTest.java index 6838cb3..1646f9d 100644 --- a/src/test/java/pacmanTests/GameManagerTest.java +++ b/src/test/java/pacmanTests/GameManagerTest.java @@ -84,8 +84,8 @@ class GameManagerTest { Vector2 expectedPosition = new Vector2(1, 1); // act gameManager.ghosts[0].spawn(); - Vector2 ghostPositeion = gameManager.ghosts[0].position; + Vector2 ghostPosition = gameManager.ghosts[0].position; // assert - assertThat(ghostPositeion).isEqualTo(expectedPosition); + assertThat(ghostPosition).isEqualTo(expectedPosition); } } From b53e5ff5005b3a6fc548e67cbae155acfff7f571 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 19:17:04 +0100 Subject: [PATCH 18/21] refactoring: Fixed typo --- src/test/java/pacmanTests/GameManagerTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/pacmanTests/GameManagerTest.java b/src/test/java/pacmanTests/GameManagerTest.java index 1646f9d..ef7f702 100644 --- a/src/test/java/pacmanTests/GameManagerTest.java +++ b/src/test/java/pacmanTests/GameManagerTest.java @@ -54,11 +54,11 @@ class GameManagerTest { GameManager gameManager = new GameManager(); gameManager.player.position = gameManager.ghosts[0].position.Clone(); //act - boolean colision = gameManager.GhostPlayerColisionTest(); + boolean collision = gameManager.GhostPlayerColisionTest(); boolean expected = true; // assert - assertThat(colision).isEqualTo(expected); + assertThat(collision).isEqualTo(expected); } @Test void GameManager_GostPlayerColisionTest_DoesntDetectColosion() { From 90e941e283a6d806d0052e853e9505fed762b4a8 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 19:24:37 +0100 Subject: [PATCH 19/21] refactoring: Fixed typo --- src/test/java/pacmanTests/GameManagerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/pacmanTests/GameManagerTest.java b/src/test/java/pacmanTests/GameManagerTest.java index ef7f702..9b1b513 100644 --- a/src/test/java/pacmanTests/GameManagerTest.java +++ b/src/test/java/pacmanTests/GameManagerTest.java @@ -61,7 +61,7 @@ class GameManagerTest { assertThat(collision).isEqualTo(expected); } @Test - void GameManager_GostPlayerColisionTest_DoesntDetectColosion() { + void GameManager_GostPlayerCollisionTest_DoesntDetectColliosion() { // arrange From 36a22dea6f6634bb664d15a1e5ba2bd0f16c8284 Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 19:29:50 +0100 Subject: [PATCH 20/21] refactoring: Fixed typos --- src/main/java/pacmanGame/GameManager.java | 2 +- src/test/java/pacmanTests/GameManagerTest.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/pacmanGame/GameManager.java b/src/main/java/pacmanGame/GameManager.java index 5cdb53b..9d79ebd 100644 --- a/src/main/java/pacmanGame/GameManager.java +++ b/src/main/java/pacmanGame/GameManager.java @@ -63,7 +63,7 @@ public class GameManager { } } - public boolean GhostPlayerColisionTest() { + public boolean GhostPlayerCollisionTest() { for(int i = 0; i < ghosts.length; i++) { diff --git a/src/test/java/pacmanTests/GameManagerTest.java b/src/test/java/pacmanTests/GameManagerTest.java index 9b1b513..eb24fed 100644 --- a/src/test/java/pacmanTests/GameManagerTest.java +++ b/src/test/java/pacmanTests/GameManagerTest.java @@ -54,7 +54,7 @@ class GameManagerTest { GameManager gameManager = new GameManager(); gameManager.player.position = gameManager.ghosts[0].position.Clone(); //act - boolean collision = gameManager.GhostPlayerColisionTest(); + boolean collision = gameManager.GhostPlayerCollisionTest(); boolean expected = true; // assert @@ -69,11 +69,11 @@ class GameManagerTest { gameManager.player.position = new Vector2(2,3); gameManager.ghosts[0].position = new Vector2(4,5); //act - boolean colision = gameManager.GhostPlayerColisionTest(); + boolean collision = gameManager.GhostPlayerCollisionTest(); boolean expected = false; // assert - assertThat(colision).isEqualTo(expected); + assertThat(collision).isEqualTo(expected); } @Test void GameManager_setupgame_spawnsghosts() { From c598313e16da581995afd3d105678bececa04f5e Mon Sep 17 00:00:00 2001 From: fdai7753 Date: Wed, 7 Feb 2024 20:50:29 +0100 Subject: [PATCH 21/21] Added GhostTest to project --- src/test/java/pacmanTests/GhostTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/test/java/pacmanTests/GhostTest.java diff --git a/src/test/java/pacmanTests/GhostTest.java b/src/test/java/pacmanTests/GhostTest.java new file mode 100644 index 0000000..75344db --- /dev/null +++ b/src/test/java/pacmanTests/GhostTest.java @@ -0,0 +1,11 @@ +package pacmanTests; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + + +class GhostTest { + +} \ No newline at end of file