diff --git a/tests/de/deadlocker8/budgetmaster/tests/resources/export.json b/tests/de/deadlocker8/budgetmaster/tests/resources/export.json index 209392219510b137d085d93f7db36fca6faf9754..2ec45ae722fd88352583b6f633d6ef837f799103 100644 --- a/tests/de/deadlocker8/budgetmaster/tests/resources/export.json +++ b/tests/de/deadlocker8/budgetmaster/tests/resources/export.json @@ -1 +1 @@ -{"categories":[{"ID":1,"name":"NONE","color":"#FFFFFF"},{"ID":2,"name":"Übertrag","color":"#FFFF00"},{"ID":3,"name":"Keine Kategorie","color":"#FFFFFF"},{"ID":4,"name":"123 Tü+?est Category","color":"#FF9500"}],"normalPayments":[{"ID":1,"amount":23,"date":"2017-06-02","categoryID":0,"name":"Test Normal","description":"Lorem Ipsum"}],"repeatingPayments":[{"repeatInterval":7,"repeatEndDate":"2017-06-30","repeatMonthDay":0,"ID":1,"amount":-10012,"date":"2017-06-01","categoryID":3,"name":"Test Repeating","description":"Lorem Ipsum"}]} \ No newline at end of file +{ "TYPE": "BUDGETMASTER_DATABASE", "VERSION": 2, "categories": [ { "ID": 1, "name": "NONE", "color": "#FFFFFF" }, { "ID": 2, "name": "Übertrag", "color": "#FFFF00" }, { "ID": 3, "name": "123 Tü+?est Category", "color": "#FF9500" } ], "normalPayments": [ { "ID": 1, "amount": 23, "date": "2017-06-02", "categoryID": 3, "name": "Test Normal", "description": "Lorem Ipsum" } ], "repeatingPayments": [ { "repeatInterval": 7, "repeatEndDate": "2017-06-30", "repeatMonthDay": 0, "ID": 1, "amount": -10012, "date": "2017-06-01", "categoryID": 1, "name": "Test Repeating", "description": "Lorem Ipsum" } ], "tags": [ { "ID": 1, "name": "Lorem Ipsum" }, { "ID": 2, "name": "123" } ], "tagMatches": [ { "tagID": 1, "paymentID": -1, "repeatingPaymentID": 1 }, { "tagID": 2, "paymentID": 1, "repeatingPaymentID": -1 } ]} \ No newline at end of file diff --git a/tests/de/deadlocker8/budgetmaster/tests/resources/import.json b/tests/de/deadlocker8/budgetmaster/tests/resources/import.json index 209392219510b137d085d93f7db36fca6faf9754..2ec45ae722fd88352583b6f633d6ef837f799103 100644 --- a/tests/de/deadlocker8/budgetmaster/tests/resources/import.json +++ b/tests/de/deadlocker8/budgetmaster/tests/resources/import.json @@ -1 +1 @@ -{"categories":[{"ID":1,"name":"NONE","color":"#FFFFFF"},{"ID":2,"name":"Übertrag","color":"#FFFF00"},{"ID":3,"name":"Keine Kategorie","color":"#FFFFFF"},{"ID":4,"name":"123 Tü+?est Category","color":"#FF9500"}],"normalPayments":[{"ID":1,"amount":23,"date":"2017-06-02","categoryID":0,"name":"Test Normal","description":"Lorem Ipsum"}],"repeatingPayments":[{"repeatInterval":7,"repeatEndDate":"2017-06-30","repeatMonthDay":0,"ID":1,"amount":-10012,"date":"2017-06-01","categoryID":3,"name":"Test Repeating","description":"Lorem Ipsum"}]} \ No newline at end of file +{ "TYPE": "BUDGETMASTER_DATABASE", "VERSION": 2, "categories": [ { "ID": 1, "name": "NONE", "color": "#FFFFFF" }, { "ID": 2, "name": "Übertrag", "color": "#FFFF00" }, { "ID": 3, "name": "123 Tü+?est Category", "color": "#FF9500" } ], "normalPayments": [ { "ID": 1, "amount": 23, "date": "2017-06-02", "categoryID": 3, "name": "Test Normal", "description": "Lorem Ipsum" } ], "repeatingPayments": [ { "repeatInterval": 7, "repeatEndDate": "2017-06-30", "repeatMonthDay": 0, "ID": 1, "amount": -10012, "date": "2017-06-01", "categoryID": 1, "name": "Test Repeating", "description": "Lorem Ipsum" } ], "tags": [ { "ID": 1, "name": "Lorem Ipsum" }, { "ID": 2, "name": "123" } ], "tagMatches": [ { "tagID": 1, "paymentID": -1, "repeatingPaymentID": 1 }, { "tagID": 2, "paymentID": 1, "repeatingPaymentID": -1 } ]} \ No newline at end of file diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java index 731a1bb75c46bbe5b7d759ce6a54f37ba1d47d41..2bab893631aeefcc98720b2dd5fbb46979a35eb2 100644 --- a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java +++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java @@ -39,7 +39,7 @@ public class DatabaseHandlerTest handler = new DatabaseHandler(settings); databaseHandler = handler; - Localization.init("de/deadlocker8/budgetmaster/resources/"); + Localization.init("de/deadlocker8/budgetmaster/resources/languages/"); Localization.loadLanguage(Locale.GERMANY); } catch(IOException | URISyntaxException e) diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java index ec87f5a9439f7d5ad7f4e0cdfdf0dca8d210f319..e5d92724d41f73ed55f0b7936dc699aa10d6e84c 100644 --- a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java +++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java @@ -15,6 +15,7 @@ import org.junit.BeforeClass; import org.junit.Test; import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import de.deadlocker8.budgetmaster.logic.category.Category; import de.deadlocker8.budgetmaster.logic.payment.NormalPayment; @@ -48,7 +49,7 @@ public class DatabaseImportExportTest databaseHandler = handler; tagHandler = new DatabaseTagHandler(settings); - Localization.init("de/deadlocker8/budgetmaster/resources/"); + Localization.init("de/deadlocker8/budgetmaster/resources/languages/"); Localization.loadLanguage(Locale.GERMANY); } catch(IOException | URISyntaxException e) @@ -77,7 +78,7 @@ public class DatabaseImportExportTest assertEquals(expectedCategory.getColor(), category.getColor()); //test normal payment - NormalPayment expectedPayment = new NormalPayment(1, 23, "2017-06-02", 0, "Test Normal", "Lorem Ipsum"); + NormalPayment expectedPayment = new NormalPayment(1, 23, "2017-06-02", 3, "Test Normal", "Lorem Ipsum"); NormalPayment payment = databaseHandler.getPayment(1); assertEquals(expectedPayment.getAmount(), payment.getAmount()); assertEquals(expectedPayment.getDate(), payment.getDate()); @@ -86,7 +87,7 @@ public class DatabaseImportExportTest assertEquals(expectedPayment.getDescription(), payment.getDescription()); //test repeating payment - RepeatingPayment expectedRepeatingPayment = new RepeatingPayment(1, -10012, "2017-06-01", 3, "Test Repeating", "Lorem Ipsum", 7, "2017-06-30", 0); + RepeatingPayment expectedRepeatingPayment = new RepeatingPayment(1, -10012, "2017-06-01", 1, "Test Repeating", "Lorem Ipsum", 7, "2017-06-30", 0); RepeatingPayment repeatingPayment = databaseHandler.getRepeatingPayment(1); assertEquals(expectedRepeatingPayment.getAmount(), repeatingPayment.getAmount()); assertEquals(expectedRepeatingPayment.getDate(), repeatingPayment.getDate()); @@ -95,7 +96,7 @@ public class DatabaseImportExportTest assertEquals(expectedRepeatingPayment.getDescription(), repeatingPayment.getDescription()); assertEquals(expectedRepeatingPayment.getRepeatInterval(), repeatingPayment.getRepeatInterval()); assertEquals(expectedRepeatingPayment.getRepeatEndDate(), repeatingPayment.getRepeatEndDate()); - assertEquals(expectedRepeatingPayment.getRepeatMonthDay(), repeatingPayment.getRepeatMonthDay()); + assertEquals(expectedRepeatingPayment.getRepeatMonthDay(), repeatingPayment.getRepeatMonthDay()); } catch(Exception e) { @@ -120,8 +121,8 @@ public class DatabaseImportExportTest file = Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/export.json").toFile(); DatabaseExporter exporter = new DatabaseExporter(settings); - Gson gson = new Gson(); - String databaseJSON = gson.toJson(exporter.exportDatabase()); + Gson gson = new GsonBuilder().setPrettyPrinting().create(); + String databaseJSON = gson.toJson(exporter.exportDatabase()).replaceAll("\n", ""); FileHelper.saveDatabaseJSON(file, databaseJSON); FileHelper.saveDatabaseJSON(new File("C:/Users/ROGO2/Desktop/123.json"), databaseJSON); diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseTagHandlerTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseTagHandlerTest.java new file mode 100644 index 0000000000000000000000000000000000000000..01a59182075260fda6a7b6b11902346f26fd971c --- /dev/null +++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseTagHandlerTest.java @@ -0,0 +1,118 @@ +package de.deadlocker8.budgetmaster.tests.server.database; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.io.IOException; +import java.net.URISyntaxException; +import java.util.ArrayList; + +import org.junit.BeforeClass; +import org.junit.Test; + +import de.deadlocker8.budgetmaster.logic.tag.Tag; +import de.deadlocker8.budgetmasterserver.logic.Settings; +import de.deadlocker8.budgetmasterserver.logic.Utils; +import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler; +import de.deadlocker8.budgetmasterserver.logic.database.DatabaseTagHandler; + +public class DatabaseTagHandlerTest +{ + private static DatabaseTagHandler tagHandler; + + @BeforeClass + public static void init() + { + try + { + //init + Settings settings = Utils.loadSettings(); + System.out.println(settings); + DatabaseHandler handler = new DatabaseHandler(settings); + handler.deleteDatabase(); + handler = new DatabaseHandler(settings); + tagHandler = new DatabaseTagHandler(settings); + } + catch(IOException | URISyntaxException e) + { + fail(e.getMessage()); + } + } + + @Test + public void testTag() + { + //add + Tag expected = new Tag(1, "sd836f4ds86f4sd86"); + tagHandler.addTag(expected.getName()); + ArrayList<Tag> tags = tagHandler.getAllTags(); + assertEquals(1, tags.size()); + + //get + Tag tag = tagHandler.getTagByID(1); + assertEquals(expected.getName(), tag.getName()); + + tag = tagHandler.getTagByName(expected.getName()); + assertEquals(1, tag.getID()); + } + + @Test + public void testDeleteCategory() + { + //add + Tag expected = new Tag(1, "115"); + tagHandler.addTag(expected.getName()); + + int id = tagHandler.getLastInsertID(); + + tagHandler.deleteTag(id); + Tag tag = tagHandler.getTagByID(id); + + assertNull(tag); + } + + @Test + public void testMatchForNormalPayment() + { + //add + Tag expected = new Tag(1, "wqeolugjf"); + tagHandler.addTag(expected.getName()); + int id = tagHandler.getLastInsertID(); + + tagHandler.addTagMatchForPayment(id, 1); + ArrayList<Integer> tags = tagHandler.getAllTagsForPayment(1); + assertEquals(1, tags.size()); + + assertTrue(tagHandler.isMatchExistingForPaymentID(id, 1)); + assertFalse(tagHandler.isMatchExistingForPaymentID(id, -3)); + + assertTrue(tagHandler.isTagUsedInMatches(id)); + + tagHandler.deleteTagMatchForPayment(id, 1); + assertFalse(tagHandler.isMatchExistingForPaymentID(id, 1)); + } + + @Test + public void testMatchRepeatingPayment() + { + //add + Tag expected = new Tag(1, "as5d4s5a4d"); + tagHandler.addTag(expected.getName()); + int id = tagHandler.getLastInsertID(); + + tagHandler.addTagMatchForRepeatingPayment(id, 1); + ArrayList<Integer> tags = tagHandler.getAllTagsForRepeatingPayment(1); + assertEquals(1, tags.size()); + + assertTrue(tagHandler.isMatchExistingForRepeatingPaymentID(id, 1)); + assertFalse(tagHandler.isMatchExistingForRepeatingPaymentID(id, -3)); + + assertTrue(tagHandler.isTagUsedInMatches(id)); + + tagHandler.deleteTagMatchForRepeatingPayment(id, 1); + assertFalse(tagHandler.isMatchExistingForRepeatingPaymentID(id, 1)); + } +} \ No newline at end of file