From 63f4c076850c880aa453290c3b4edbbdc1084209 Mon Sep 17 00:00:00 2001 From: musilto9 Date: Thu, 28 May 2020 11:02:25 +0200 Subject: [PATCH] added comments and cleaned code --- .../save/savedGame/events-DESKTOP-TL25DTN.txt | 15 ----------- .../game/gameOfProd/Battle/BattleTest.java | 6 +++++ .../Inventory/InventoryManagerTest.java | 21 +++++++++++++++ .../LevelEditor/LevelEditorTest.java | 14 ++++++++++ .../ruscz/game/gameOfProd/Map/MapTest.java | 8 ++++++ .../gameOfProd/Scripts/PathFinderTest.java | 8 ++++++ .../Windows/WindowOfFreeMoveTest.java | 27 +++++++++++++++---- 7 files changed, 79 insertions(+), 20 deletions(-) delete mode 100644 src/main/resources/save/savedGame/events-DESKTOP-TL25DTN.txt diff --git a/src/main/resources/save/savedGame/events-DESKTOP-TL25DTN.txt b/src/main/resources/save/savedGame/events-DESKTOP-TL25DTN.txt deleted file mode 100644 index 3f5c206..0000000 --- a/src/main/resources/save/savedGame/events-DESKTOP-TL25DTN.txt +++ /dev/null @@ -1,15 +0,0 @@ - - m1 - - - - - m6 - - - 11 - 11 - true - - - diff --git a/src/test/java/ruscz/game/gameOfProd/Battle/BattleTest.java b/src/test/java/ruscz/game/gameOfProd/Battle/BattleTest.java index d02ee94..6d7e4af 100644 --- a/src/test/java/ruscz/game/gameOfProd/Battle/BattleTest.java +++ b/src/test/java/ruscz/game/gameOfProd/Battle/BattleTest.java @@ -13,6 +13,9 @@ import static ruscz.game.gameOfProd.Windows.WindowOfFreeMove.sleep; public class BattleTest { + /** + * Procesní test, který simuluje průběh celé bitvy - silný hrdina vs. slabí nepřátelé + */ @Test public void startBattle_battleWithAMightHero_winOfHero(){ //Arrange @@ -55,6 +58,9 @@ public class BattleTest { } + /** + * Procesní test, který simuluje průběh celé bitvy - slabý hrdina vs. silní nepřátelé + */ @Test public void startBattle_battleWithAMightEnemy_winOfEnemy(){ //Arrange diff --git a/src/test/java/ruscz/game/gameOfProd/Inventory/InventoryManagerTest.java b/src/test/java/ruscz/game/gameOfProd/Inventory/InventoryManagerTest.java index 06ff846..a097c5c 100644 --- a/src/test/java/ruscz/game/gameOfProd/Inventory/InventoryManagerTest.java +++ b/src/test/java/ruscz/game/gameOfProd/Inventory/InventoryManagerTest.java @@ -11,6 +11,9 @@ public class InventoryManagerTest { InventoryManager.flushInventory(); } + /** + * JUnit test, který simuluje přidání itemu do inventáře hrdiny + */ @Test public void addItem_addItemInInventory_successfulAdd(){ //Arrange @@ -31,6 +34,9 @@ public class InventoryManagerTest { Assertions.assertTrue(InventoryManager.getInventory().contains(i3)); } + /** + * JUnit test, který simuluje odebrání itemu z inventáře hrdiny + */ @Test public void removeItem_removeItemFromInventory_successfulRemove(){ //Arrange @@ -53,6 +59,9 @@ public class InventoryManagerTest { Assertions.assertTrue(InventoryManager.getInventory().contains(i3)); } + /** + * JUnit test, který simuluje přidání itemu, který už v inventáři je, do inventáře hrdiny + */ @Test public void addItem_increaseMultiplicityOfItem_successfulIncreasing(){ //Arrange @@ -72,6 +81,9 @@ public class InventoryManagerTest { Assertions.assertEquals(12, InventoryManager.getInventory().getFirst().getMultiplicity()); } + /** + * JUnit test, který simuluje odebrání itemu s násobností z inventáře hrdiny + */ @Test public void removeItem_decreaseMultiplicityOfItem_successfulReduce(){ //Arrange @@ -93,6 +105,9 @@ public class InventoryManagerTest { Assertions.assertEquals(11, InventoryManager.getInventory().getFirst().getMultiplicity()); } + /** + * JUnit test, který simuluje odebrání itemu, který v inventáři není, z inventáře hrdiny + */ @Test public void removeItem_tryDecreaseNonExistedItemOrDecreaseTooMuch_unsuccessfulReduce(){ //Arrange @@ -111,6 +126,9 @@ public class InventoryManagerTest { Assertions.assertEquals(10, InventoryManager.getInventory().getFirst().getMultiplicity()); } + /** + * JUnit test, který simuluje hledání itemu v inventáři hrdiny + */ @Test public void findItemByName_searchingExistedItem_Item(){ //Arrange @@ -125,6 +143,9 @@ public class InventoryManagerTest { Assertions.assertEquals(i1, InventoryManager.findItemByName(i1.getName())); } + /** + * JUnit test, který simuluje hledání itemu, který není v inventíři hrdiny + */ @Test public void findItemByName_trySearchingExistedItem_null(){ //Arrange diff --git a/src/test/java/ruscz/game/gameOfProd/LevelEditor/LevelEditorTest.java b/src/test/java/ruscz/game/gameOfProd/LevelEditor/LevelEditorTest.java index abdd8a8..fa9aa1b 100644 --- a/src/test/java/ruscz/game/gameOfProd/LevelEditor/LevelEditorTest.java +++ b/src/test/java/ruscz/game/gameOfProd/LevelEditor/LevelEditorTest.java @@ -29,6 +29,10 @@ public class LevelEditorTest { ); } + /** + * @param tilesets je pole názvů jednotlivých obrázků s tilesety + * JUnit test, který simuluje vygenerování tilesetu z jednoho nebo více obrázků + */ @ParameterizedTest @MethodSource("argumentsStream") public void generateOverview_generateTilesetsFromImages_CorrectlyGeneratedTilesets(String[] tilesets) { @@ -61,6 +65,12 @@ public class LevelEditorTest { ); } + /** + * @param name název mapy + * @param width šířka mapy + * @param height výska mapy + * JUnit test, který simuluje vytvoření mapy pro editaci v level editoru + */ @ParameterizedTest @MethodSource("argumentsStream2") public void createMap_createNewMapForLevelEditor_CorrectlyCreatedMap(String name, int width, int height) { @@ -88,6 +98,10 @@ public class LevelEditorTest { } } + /** + * @throws IOException kvůli porovnávání obsahu souborů a Scanneru + * Procesní test, který simuluje, vytvoření mapy v level editoru a její následné uložení do souborů + */ @Test public void saveMap_saveMapToFiles_CorrectlySavedMap() throws IOException { //Arrange diff --git a/src/test/java/ruscz/game/gameOfProd/Map/MapTest.java b/src/test/java/ruscz/game/gameOfProd/Map/MapTest.java index 1127966..65e81f9 100644 --- a/src/test/java/ruscz/game/gameOfProd/Map/MapTest.java +++ b/src/test/java/ruscz/game/gameOfProd/Map/MapTest.java @@ -18,6 +18,9 @@ import java.util.stream.Stream; public class MapTest { + /** + * JUnit test, který simuluje načtení mapy ze souboru do matice buněk + */ @Test public void loadMapFromFile_parseMapFileToMapArray_mapArrayParsedCorrectly() { //Arrange @@ -51,6 +54,11 @@ public class MapTest { ); } + /** + * @param cell referenční buňka + * @param cellText text k parsování + * JUnit test, který simuluje naparsování textu na konkrétní buňku s vlastnostmi + */ @ParameterizedTest @MethodSource("argumentsStream") public void loadMapFromFile_parseStringToCorrectObject_MapObjectParsedCorrectly(Cell cell, String cellText) { diff --git a/src/test/java/ruscz/game/gameOfProd/Scripts/PathFinderTest.java b/src/test/java/ruscz/game/gameOfProd/Scripts/PathFinderTest.java index a6ca281..bb23761 100644 --- a/src/test/java/ruscz/game/gameOfProd/Scripts/PathFinderTest.java +++ b/src/test/java/ruscz/game/gameOfProd/Scripts/PathFinderTest.java @@ -39,6 +39,14 @@ public class PathFinderTest { } + /** + * @param startX počáteční hodnota X + * @param startY počáteční hodnota Y + * @param endX koncová hodnota X + * @param endY koncová hodnota Y + * @param isPossible boolean určující zda je cesta proveditelná + * Procesní test, který simuluje automatický pohyb NPC po mapě za pomoci A* aloritmu na hledání nejkratší cesty + */ @ParameterizedTest @MethodSource("argumentsStream") public void getWayWithCollision_usingMap6ForTestOfPathFinding_rightPositionOfNpc(int startX, int startY, int endX, int endY, boolean isPossible) { diff --git a/src/test/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMoveTest.java b/src/test/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMoveTest.java index 33e0c2e..6740a74 100644 --- a/src/test/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMoveTest.java +++ b/src/test/java/ruscz/game/gameOfProd/Windows/WindowOfFreeMoveTest.java @@ -65,6 +65,12 @@ public class WindowOfFreeMoveTest { ); } + /** + * @param directions pole jednotlivých vstupů + * @param xPath předpokládaná ušlá vzdálenost na ose X + * @param yPath předpokládaná ušlá vzdálenost na ose Y + * Procesní test, který simuluje pohyb hrdiny po mapě, pomocí inputu od uživatele + */ @ParameterizedTest @MethodSource("argumentsStream") public void move_moveCharacterOnMap_CharacterChangesPositionWithCollisionDetection(int[] directions, int xPath, int yPath) { @@ -99,6 +105,9 @@ public class WindowOfFreeMoveTest { timer.stop(); } + /** + * Procesní test, který simuluje přechod hrdiny na jinou matu pomocí MOVETO buňky + */ @Test public void moveToMap_CharacterMovesToDifferentMap_CharacterIsOnCorrectMap() { //Arrange @@ -151,6 +160,9 @@ public class WindowOfFreeMoveTest { Assertions.assertEquals("m6", freeMove.getMapManager().getActualMap().getName()); } + /** + * Procesní test, který simuluje interakci hrdiny s TRIGGER buňkou a průchod spuštěnou událostí + */ @Test public void startEvent_CharacterEntersEventThenGoesThroughEventThenExitsEvent_CorrectCharacterResponses() { //Arrange @@ -231,6 +243,9 @@ public class WindowOfFreeMoveTest { Assertions.assertEquals(triggerCell.getY(), person.getY()); } + /** + * Procesní test, který simuluje interakci s TRIGGER buňkou, přechod na jinou mapu a následné uložení postupu ve hře + */ @Test public void saveGame_CharacterInteractsWithTriggerCellThenMovesToDifferentMapThenGameIsSaved_CorrectlySavedProgress() { //Assert @@ -284,7 +299,8 @@ public class WindowOfFreeMoveTest { //Act person = freeMove.getMapManager().getActualMap().getPerson(); - int[] personCoords = new int[]{person.getX(), person.getY(), person.getDirectionSight()}; + String[] personCoords = new String[]{freeMove.getMapManager().getActualMap().getName(), String.valueOf(person.getX()), + String.valueOf(person.getY()), String.valueOf(person.getDirectionSight())}; boolean triggerIsActive = testMap.findTriggerByXY(11, 11).getActive(); saveManager = new SaveManager(freeMove.getMapManager()); saveManager.saveGame(); @@ -294,15 +310,16 @@ public class WindowOfFreeMoveTest { freeMove = new WindowOfFreeMove(game); game.add(freeMove); WindowOfFreeMove.setCHAPTER("999"); - freeMove.setCanvasSize(new int[]{50, 50}); + WindowOfFreeMove.setCanvasSize(new int[]{50, 50}); freeMove.start(false); sleep(1000); //Assert - Assertions.assertEquals(personCoords[0], freeMove.getMapManager().getActualMap().getPerson().getX()); - Assertions.assertEquals(personCoords[1], freeMove.getMapManager().getActualMap().getPerson().getY()); - Assertions.assertEquals(personCoords[2], freeMove.getMapManager().getActualMap().getPerson().getDirectionSight()); + Assertions.assertEquals(personCoords[0], freeMove.getMapManager().getActualMap().getName()); + Assertions.assertEquals(personCoords[1], String.valueOf(freeMove.getMapManager().getActualMap().getPerson().getX())); + Assertions.assertEquals(personCoords[2], String.valueOf(freeMove.getMapManager().getActualMap().getPerson().getY())); + Assertions.assertEquals(personCoords[3], String.valueOf(freeMove.getMapManager().getActualMap().getPerson().getDirectionSight())); Assertions.assertEquals(triggerIsActive, Map.findMapByName("m6", freeMove).findTriggerByXY(11, 11).getActive()); } }