diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParserTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParserTest.java index 3a4523a3d586587d58c25f9bf3e7e43951ccb5a5..21fa45aa9de25a650ef77f9a7485143ecee0be42 100644 --- a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParserTest.java +++ b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParserTest.java @@ -63,7 +63,7 @@ public class DatabaseParserTest DatabaseParser importer = new DatabaseParser(json, categoryNone); final Database database = importer.parseDatabaseFromJSON(); assertThat(database.getTransactions()) - .hasSize(6); + .hasSize(4); } @Test diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v4Test.java b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v4Test.java index f4d4084101ca9d1dc7884d6945d3eb4361ffcc02..70e9b483c3225decddd538a6839c36978e7faf43 100644 --- a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v4Test.java +++ b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v4Test.java @@ -1,21 +1,14 @@ package de.deadlocker8.budgetmaster.unit.database; -import de.deadlocker8.budgetmaster.accounts.Account; import de.deadlocker8.budgetmaster.accounts.AccountType; -import de.deadlocker8.budgetmaster.categories.Category; import de.deadlocker8.budgetmaster.categories.CategoryType; -import de.deadlocker8.budgetmaster.database.Database; import de.deadlocker8.budgetmaster.database.DatabaseParser_v4; -import de.deadlocker8.budgetmaster.repeating.RepeatingOption; +import de.deadlocker8.budgetmaster.database.model.v4.*; import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndAfterXTimes; import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierDays; import de.deadlocker8.budgetmaster.tags.Tag; -import de.deadlocker8.budgetmaster.templates.Template; -import de.deadlocker8.budgetmaster.transactions.Transaction; import de.thecodelabs.utils.util.Localization; import de.thecodelabs.utils.util.Localization.LocalizationDelegate; -import org.joda.time.DateTime; -import org.joda.time.format.DateTimeFormat; import org.junit.Before; import org.junit.Test; @@ -59,16 +52,11 @@ public class DatabaseParser_v4Test { String json = new String(Files.readAllBytes(Paths.get(getClass().getClassLoader().getResource("DatabaseParser_v4Test.json").toURI()))); DatabaseParser_v4 importer = new DatabaseParser_v4(json); - Database database = importer.parseDatabaseFromJSON(); + BackupDatabase_v4 database = importer.parseDatabaseFromJSON(); - final Category categoryNone = new Category("Keine Kategorie", "#FFFFFF", CategoryType.NONE); - categoryNone.setID(1); - - final Category categoryRest = new Category("Übertrag", "#FFFF00", CategoryType.REST); - categoryRest.setID(2); - - final Category category3 = new Category("0815", "#ffcc00", CategoryType.CUSTOM); - category3.setID(3); + final BackupCategory_v4 categoryNone = new BackupCategory_v4(1, "Keine Kategorie", "#FFFFFF", CategoryType.NONE); + final BackupCategory_v4 categoryRest = new BackupCategory_v4(2, "Übertrag", "#FFFF00", CategoryType.REST); + final BackupCategory_v4 category3 = new BackupCategory_v4(3, "0815", "#ffcc00", CategoryType.CUSTOM); assertThat(database.getCategories()).hasSize(3) .contains(categoryNone, categoryRest, category3); @@ -86,7 +74,7 @@ public class DatabaseParser_v4Test { String json = new String(Files.readAllBytes(Paths.get(getClass().getClassLoader().getResource("DatabaseParser_v4Test.json").toURI()))); DatabaseParser_v4 importer = new DatabaseParser_v4(json); - Database database = importer.parseDatabaseFromJSON(); + BackupDatabase_v4 database = importer.parseDatabaseFromJSON(); assertThat(database.getAccounts()).hasSize(3); assertThat(database.getAccounts().get(0)).hasFieldOrPropertyWithValue("name", "Placeholder"); @@ -106,38 +94,32 @@ public class DatabaseParser_v4Test { String json = new String(Files.readAllBytes(Paths.get(getClass().getClassLoader().getResource("DatabaseParser_v4Test.json").toURI()))); DatabaseParser_v4 importer = new DatabaseParser_v4(json); - Database database = importer.parseDatabaseFromJSON(); - - Account account1 = new Account("Default", AccountType.CUSTOM); - account1.setID(2); - - Account account2 = new Account("Second Account", AccountType.CUSTOM); - account2.setID(3); + BackupDatabase_v4 database = importer.parseDatabaseFromJSON(); - Category categoryNone = new Category("Keine Kategorie", "#FFFFFF", CategoryType.NONE); - categoryNone.setID(1); + BackupAccount_v4 account1 = new BackupAccount_v4(2, "Default", AccountType.CUSTOM); + BackupAccount_v4 account2 = new BackupAccount_v4(3, "Second Account", AccountType.CUSTOM); - Category category3 = new Category("0815", "#ffcc00", CategoryType.CUSTOM); - category3.setID(3); + BackupCategory_v4 categoryNone = new BackupCategory_v4(1, "Keine Kategorie", "#FFFFFF", CategoryType.NONE); + BackupCategory_v4 category3 = new BackupCategory_v4(3, "0815", "#ffcc00", CategoryType.CUSTOM); - Transaction normalTransaction_1 = new Transaction(); + BackupTransaction_v4 normalTransaction_1 = new BackupTransaction_v4(); normalTransaction_1.setAmount(35000); - normalTransaction_1.setDate(DateTime.parse("2018-03-13", DateTimeFormat.forPattern("yyyy-MM-dd"))); + normalTransaction_1.setDate("2018-03-13"); normalTransaction_1.setCategory(categoryNone); normalTransaction_1.setName("Income"); normalTransaction_1.setDescription("Lorem Ipsum"); normalTransaction_1.setTags(new ArrayList<>()); normalTransaction_1.setAccount(account1); - normalTransaction_1.setIsExpenditure(false); + normalTransaction_1.setExpenditure(false); - Transaction normalTransaction_2 = new Transaction(); + BackupTransaction_v4 normalTransaction_2 = new BackupTransaction_v4(); normalTransaction_2.setAmount(-2000); - normalTransaction_2.setDate(DateTime.parse("2018-06-15", DateTimeFormat.forPattern("yyyy-MM-dd"))); + normalTransaction_2.setDate("2018-06-15"); normalTransaction_2.setName("Simple"); normalTransaction_2.setDescription(""); normalTransaction_2.setAccount(account2); normalTransaction_2.setCategory(category3); - normalTransaction_2.setIsExpenditure(true); + normalTransaction_2.setExpenditure(true); List<Tag> tags = new ArrayList<>(); Tag tag = new Tag("0815"); @@ -145,54 +127,40 @@ public class DatabaseParser_v4Test tags.add(tag); normalTransaction_2.setTags(tags); - Transaction repeatingTransaction_1 = new Transaction(); + BackupTransaction_v4 repeatingTransaction_1 = new BackupTransaction_v4(); repeatingTransaction_1.setAmount(-12300); - DateTime repeatingTransactionDate_1 = DateTime.parse("2018-03-13", DateTimeFormat.forPattern("yyyy-MM-dd")); + String repeatingTransactionDate_1 = "2018-03-13"; repeatingTransaction_1.setDate(repeatingTransactionDate_1); repeatingTransaction_1.setCategory(categoryNone); repeatingTransaction_1.setName("Test"); repeatingTransaction_1.setDescription(""); repeatingTransaction_1.setAccount(account1); - RepeatingOption repeatingOption_1 = new RepeatingOption(); - repeatingOption_1.setModifier(new RepeatingModifierDays(10)); + BackupRepeatingOption_v4 repeatingOption_1 = new BackupRepeatingOption_v4(); + repeatingOption_1.setModifier(new BackupRepeatingModifier_v4(10, new RepeatingModifierDays(10).getLocalizationKey())); repeatingOption_1.setStartDate(repeatingTransactionDate_1); - repeatingOption_1.setEndOption(new RepeatingEndAfterXTimes(2)); + BackupRepeatingEndOption_v4 repeatingEndOption = new BackupRepeatingEndOption_v4(); + repeatingEndOption.setTimes(2); + repeatingEndOption.setLocalizationKey(new RepeatingEndAfterXTimes(10).getLocalizationKey()); + repeatingOption_1.setEndOption(repeatingEndOption); repeatingTransaction_1.setRepeatingOption(repeatingOption_1); repeatingTransaction_1.setTags(new ArrayList<>()); - repeatingTransaction_1.setIsExpenditure(true); + repeatingTransaction_1.setExpenditure(true); - Transaction repeatingTransaction_2 = new Transaction(); - repeatingTransaction_2.setAmount(-12300); - DateTime repeatingTransactionDate_2 = DateTime.parse("2018-03-23", DateTimeFormat.forPattern("yyyy-MM-dd")); - repeatingTransaction_2.setDate(repeatingTransactionDate_2); - repeatingTransaction_2.setCategory(categoryNone); - repeatingTransaction_2.setName("Test"); - repeatingTransaction_2.setDescription(""); - repeatingTransaction_2.setAccount(account1); - RepeatingOption repeatingOption_2 = new RepeatingOption(); - repeatingOption_2.setModifier(new RepeatingModifierDays(10)); - repeatingOption_2.setStartDate(repeatingTransactionDate_2); - repeatingOption_2.setEndOption(new RepeatingEndAfterXTimes(2)); - repeatingTransaction_2.setRepeatingOption(repeatingOption_2); - repeatingTransaction_2.setTags(new ArrayList<>()); - repeatingTransaction_2.setIsExpenditure(true); - - Transaction transferTransaction = new Transaction(); + BackupTransaction_v4 transferTransaction = new BackupTransaction_v4(); transferTransaction.setAmount(-250); - transferTransaction.setDate(DateTime.parse("2018-06-15", DateTimeFormat.forPattern("yyyy-MM-dd"))); + transferTransaction.setDate("2018-06-15"); transferTransaction.setName("Transfer"); transferTransaction.setDescription(""); transferTransaction.setAccount(account2); transferTransaction.setTransferAccount(account1); transferTransaction.setCategory(category3); transferTransaction.setTags(new ArrayList<>()); - transferTransaction.setIsExpenditure(true); + transferTransaction.setExpenditure(true); - assertThat(database.getTransactions()).hasSize(6) + assertThat(database.getTransactions()).hasSize(4) .contains(normalTransaction_1, normalTransaction_2, repeatingTransaction_1, - repeatingTransaction_2, transferTransaction); } @@ -209,28 +177,22 @@ public class DatabaseParser_v4Test { String json = new String(Files.readAllBytes(Paths.get(getClass().getClassLoader().getResource("DatabaseParser_v4Test.json").toURI()))); DatabaseParser_v4 importer = new DatabaseParser_v4(json); - Database database = importer.parseDatabaseFromJSON(); - - Account account1 = new Account("Default", AccountType.CUSTOM); - account1.setID(2); - - Account account2 = new Account("Second Account", AccountType.CUSTOM); - account2.setID(3); + BackupDatabase_v4 database = importer.parseDatabaseFromJSON(); - Category categoryNone = new Category("Keine Kategorie", "#FFFFFF", CategoryType.NONE); - categoryNone.setID(1); + BackupAccount_v4 account1 = new BackupAccount_v4(2, "Default", AccountType.CUSTOM); + BackupAccount_v4 account2 = new BackupAccount_v4(3, "Second Account", AccountType.CUSTOM); - Category category3 = new Category("0815", "#ffcc00", CategoryType.CUSTOM); - category3.setID(3); + BackupCategory_v4 categoryNone = new BackupCategory_v4(1, "Keine Kategorie", "#FFFFFF", CategoryType.NONE); + BackupCategory_v4 category3 = new BackupCategory_v4(3, "0815", "#ffcc00", CategoryType.CUSTOM); - Template normalTemplate = new Template(); + BackupTemplate_v4 normalTemplate = new BackupTemplate_v4(); normalTemplate.setAmount(1500); normalTemplate.setName("Income"); normalTemplate.setTemplateName("My Simple Template"); normalTemplate.setDescription("Lorem Ipsum"); normalTemplate.setAccount(account1); normalTemplate.setCategory(categoryNone); - normalTemplate.setIsExpenditure(false); + normalTemplate.setExpenditure(false); List<Tag> tags = new ArrayList<>(); Tag tag = new Tag("0815"); @@ -238,12 +200,12 @@ public class DatabaseParser_v4Test tags.add(tag); normalTemplate.setTags(tags); - Template minimalTemplate = new Template(); + BackupTemplate_v4 minimalTemplate = new BackupTemplate_v4(); minimalTemplate.setTemplateName("My Minimal Template"); minimalTemplate.setTags(new ArrayList<>()); - minimalTemplate.setIsExpenditure(true); + minimalTemplate.setExpenditure(true); - Template transferTemplate = new Template(); + BackupTemplate_v4 transferTemplate = new BackupTemplate_v4(); transferTemplate.setTemplateName("My Transfer Template"); transferTemplate.setAmount(-35000); transferTemplate.setAccount(account2); @@ -252,7 +214,7 @@ public class DatabaseParser_v4Test transferTemplate.setDescription("Lorem Ipsum"); transferTemplate.setCategory(category3); transferTemplate.setTags(tags); - transferTemplate.setIsExpenditure(true); + transferTemplate.setExpenditure(true); assertThat(database.getTemplates()).hasSize(3) .contains(normalTemplate, minimalTemplate, transferTemplate); diff --git a/src/test/resources/DatabaseParser_v4Test.json b/src/test/resources/DatabaseParser_v4Test.json index a78649b1aa2d3a8bf5dd383404711718c7963251..c05ebe607388d72e197fc60e35cc4ce8d7404693 100644 --- a/src/test/resources/DatabaseParser_v4Test.json +++ b/src/test/resources/DatabaseParser_v4Test.json @@ -46,7 +46,8 @@ "isExpenditure": false, "account": { "ID": 2, - "name": "Default" + "name": "Default", + "type": "CUSTOM" }, "category": { "ID": 1, @@ -64,7 +65,8 @@ "date": "2018-06-15", "account": { "ID": 3, - "name": "Second Account" + "name": "Second Account", + "type": "CUSTOM" }, "category": { "ID": 3, @@ -87,71 +89,8 @@ "date": "2018-03-13", "account": { "ID": 2, - "name": "Default" - }, - "category": { - "ID": 1, - "name": "Keine Kategorie", - "color": "#FFFFFF", - "type": "NONE" - }, - "name": "Test", - "description": "", - "tags": [], - "repeatingOption": { - "ID": 2, - "startDate": "2018-03-13", - "modifier": { - "ID": 3, - "quantity": 10, - "localizationKey": "repeating.modifier.days" - }, - "endOption": { - "times": 2, - "ID": 3, - "localizationKey": "repeating.end.key.afterXTimes" - } - } - }, - { - "ID": 14, - "amount": -12300, - "date": "2018-03-23", - "account": { - "ID": 2, - "name": "Default" - }, - "category": { - "ID": 1, - "name": "Keine Kategorie", - "color": "#FFFFFF", - "type": "NONE" - }, - "name": "Test", - "description": "", - "tags": [], - "repeatingOption": { - "ID": 2, - "startDate": "2018-03-13", - "modifier": { - "ID": 3, - "quantity": 10, - "localizationKey": "repeating.modifier.days" - }, - "endOption": { - "times": 2, - "ID": 3, - "localizationKey": "repeating.end.key.afterXTimes" - } - } - }, - { - "ID": 15, - "amount": -12300, - "date": "2018-04-02", - "account": { - "ID": 2, - "name": "Default" + "name": "Default", + "type": "CUSTOM" }, "category": { "ID": 1, @@ -183,7 +122,8 @@ "date": "2018-06-15", "account": { "ID": 3, - "name": "Second Account" + "name": "Second Account", + "type": "CUSTOM" }, "category": { "ID": 3, @@ -207,7 +147,8 @@ "amount": 1500, "account": { "ID": 2, - "name": "Default" + "name": "Default", + "type": "CUSTOM" }, "category": { "ID": 1, @@ -235,7 +176,8 @@ "amount": -35000, "account": { "ID": 3, - "name": "Second Account" + "name": "Second Account", + "type": "CUSTOM" }, "category": { "ID": 3,