diff --git a/build.gradle b/build.gradle index aa0fc4552f1..b8bb251c22e 100644 --- a/build.gradle +++ b/build.gradle @@ -69,4 +69,8 @@ shadowJar { archiveFileName = 'addressbook.jar' } +run { + enableAssertions = true +} + defaultTasks 'clean', 'test' diff --git a/src/test/java/seedu/address/logic/LogicManagerTest.java b/src/test/java/seedu/address/logic/LogicManagerTest.java index d507d71a422..690c7fed2b0 100644 --- a/src/test/java/seedu/address/logic/LogicManagerTest.java +++ b/src/test/java/seedu/address/logic/LogicManagerTest.java @@ -64,7 +64,7 @@ public void execute_invalidCommandFormat_throwsParseException() { @Test public void execute_commandExecutionError_throwsCommandException() { - String deleteCommand = "delete 9"; + String deleteCommand = "delcust 9"; assertCommandException(deleteCommand, MESSAGE_INVALID_CUSTOMER_DISPLAYED_INDEX); } diff --git a/src/test/java/seedu/address/logic/commands/AddCustomerCommandIntegrationTest.java b/src/test/java/seedu/address/logic/commands/AddCustomerCommandIntegrationTest.java index 59d4b139622..980dab6d815 100644 --- a/src/test/java/seedu/address/logic/commands/AddCustomerCommandIntegrationTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCustomerCommandIntegrationTest.java @@ -3,6 +3,7 @@ import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.testutil.TypicalCustomers.getTypicalAddressBook; +import static seedu.address.testutil.TypicalProperties.getTypicalPropertyBook; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -10,7 +11,6 @@ import seedu.address.logic.Messages; import seedu.address.model.Model; import seedu.address.model.ModelManager; -import seedu.address.model.PropertyBook; import seedu.address.model.UserPrefs; import seedu.address.model.customer.Customer; import seedu.address.testutil.CustomerBuilder; @@ -24,14 +24,14 @@ public class AddCustomerCommandIntegrationTest { @BeforeEach public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new PropertyBook(), new UserPrefs()); + model = new ModelManager(getTypicalAddressBook(), getTypicalPropertyBook(), new UserPrefs()); } @Test public void execute_newCustomer_success() { Customer validCustomer = new CustomerBuilder().build(); - Model expectedModel = new ModelManager(model.getAddressBook(), new PropertyBook(), new UserPrefs()); + Model expectedModel = new ModelManager(model.getAddressBook(), model.getPropertyBook(), new UserPrefs()); expectedModel.addCustomer(validCustomer); assertCommandSuccess(new AddCustomerCommand(validCustomer), model, diff --git a/src/test/java/seedu/address/logic/commands/AddPropertyCommandIntegrationTest.java b/src/test/java/seedu/address/logic/commands/AddPropertyCommandIntegrationTest.java index aeca9057e8d..9ac32828953 100644 --- a/src/test/java/seedu/address/logic/commands/AddPropertyCommandIntegrationTest.java +++ b/src/test/java/seedu/address/logic/commands/AddPropertyCommandIntegrationTest.java @@ -3,6 +3,7 @@ import static seedu.address.logic.commands.CommandPropertyTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandPropertyTestUtil.assertCommandSuccess; import static seedu.address.testutil.TypicalCustomers.getTypicalAddressBook; +import static seedu.address.testutil.TypicalProperties.getTypicalPropertyBook; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -10,7 +11,6 @@ import seedu.address.logic.Messages; import seedu.address.model.Model; import seedu.address.model.ModelManager; -import seedu.address.model.PropertyBook; import seedu.address.model.UserPrefs; import seedu.address.model.property.Property; import seedu.address.testutil.PropertyBuilder; @@ -24,14 +24,14 @@ public class AddPropertyCommandIntegrationTest { @BeforeEach public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new PropertyBook(), new UserPrefs()); + model = new ModelManager(getTypicalAddressBook(), getTypicalPropertyBook(), new UserPrefs()); } @Test public void execute_newProperty_success() { Property validProperty = new PropertyBuilder().build(); - Model expectedModel = new ModelManager(model.getAddressBook(), new PropertyBook(), new UserPrefs()); + Model expectedModel = new ModelManager(model.getAddressBook(), model.getPropertyBook(), new UserPrefs()); expectedModel.addProperty(validProperty); assertCommandSuccess(new AddPropertyCommand(validProperty), model, diff --git a/src/test/java/seedu/address/logic/commands/CommandPropertyTestUtil.java b/src/test/java/seedu/address/logic/commands/CommandPropertyTestUtil.java index 5ac2ea7ebb0..304a185aef0 100644 --- a/src/test/java/seedu/address/logic/commands/CommandPropertyTestUtil.java +++ b/src/test/java/seedu/address/logic/commands/CommandPropertyTestUtil.java @@ -47,9 +47,9 @@ public class CommandPropertyTestUtil { public static final String TAG_DESC_SQUARE = " " + PREFIX_TAG + VALID_TAG_SQUARE; public static final String TAG_DESC_BIG = " " + PREFIX_TAG + VALID_TAG_BIG; - public static final String INVALID_NAME_DESC = " " + PREFIX_NAME + "James&"; // '&' not allowed in names + public static final String INVALID_NAME_DESC = " " + PREFIX_NAME + " "; // '&' not allowed in names public static final String INVALID_PHONE_DESC = " " + PREFIX_PHONE + "911a"; // 'a' not allowed in phones - public static final String INVALID_ADDRESS_DESC = " " + PREFIX_ADDRESS + "SKYVIEW!"; // ! not allowed in address + public static final String INVALID_ADDRESS_DESC = " " + PREFIX_ADDRESS + " "; // ! not allowed in address public static final String INVALID_PRICE_DESC = " " + PREFIX_PRICE; // empty string not allowed for PRICE public static final String INVALID_TAG_DESC = " " + PREFIX_TAG + "hubby*"; // '*' not allowed in tags diff --git a/src/test/java/seedu/address/logic/commands/DeletePropertyCommandTest.java b/src/test/java/seedu/address/logic/commands/DeletePropertyCommandTest.java index 34390d0149e..645f7719e4c 100644 --- a/src/test/java/seedu/address/logic/commands/DeletePropertyCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/DeletePropertyCommandTest.java @@ -9,6 +9,7 @@ import static seedu.address.testutil.TypicalCustomers.getTypicalAddressBook; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PROPERTY; import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PROPERTY; +import static seedu.address.testutil.TypicalProperties.getTypicalPropertyBook; import org.junit.jupiter.api.Test; @@ -16,7 +17,6 @@ import seedu.address.logic.Messages; import seedu.address.model.Model; import seedu.address.model.ModelManager; -import seedu.address.model.PropertyBook; import seedu.address.model.UserPrefs; import seedu.address.model.property.Property; @@ -26,7 +26,7 @@ */ public class DeletePropertyCommandTest { - private Model model = new ModelManager(getTypicalAddressBook(), new PropertyBook(), new UserPrefs()); + private Model model = new ModelManager(getTypicalAddressBook(), getTypicalPropertyBook(), new UserPrefs()); @Test public void execute_validIndexUnfilteredList_success() { @@ -36,7 +36,7 @@ public void execute_validIndexUnfilteredList_success() { String expectedMessage = String.format(DeletePropertyCommand.MESSAGE_DELETE_PROPERTY_SUCCESS, Messages.format(propertyToDelete)); - ModelManager expectedModel = new ModelManager(model.getAddressBook(), new PropertyBook(), new UserPrefs()); + ModelManager expectedModel = new ModelManager(model.getAddressBook(), model.getPropertyBook(), new UserPrefs()); expectedModel.deleteProperty(propertyToDelete); assertCommandSuccess(deleteCommand, model, expectedMessage, expectedModel); @@ -60,7 +60,7 @@ public void execute_validIndexFilteredList_success() { String expectedMessage = String.format(DeletePropertyCommand.MESSAGE_DELETE_PROPERTY_SUCCESS, Messages.format(propertyToDelete)); - Model expectedModel = new ModelManager(model.getAddressBook(), new PropertyBook(), new UserPrefs()); + Model expectedModel = new ModelManager(model.getAddressBook(), model.getPropertyBook(), new UserPrefs()); expectedModel.deleteProperty(propertyToDelete); showNoProperty(expectedModel); diff --git a/src/test/java/seedu/address/logic/commands/ListCustomerCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCustomerCommandTest.java index 775bef2fd97..02a9915722b 100644 --- a/src/test/java/seedu/address/logic/commands/ListCustomerCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCustomerCommandTest.java @@ -4,13 +4,13 @@ import static seedu.address.logic.commands.CommandTestUtil.showCustomerAtIndex; import static seedu.address.testutil.TypicalCustomers.getTypicalAddressBook; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_CUSTOMER; +import static seedu.address.testutil.TypicalProperties.getTypicalPropertyBook; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import seedu.address.model.Model; import seedu.address.model.ModelManager; -import seedu.address.model.PropertyBook; import seedu.address.model.UserPrefs; /** @@ -23,8 +23,8 @@ public class ListCustomerCommandTest { @BeforeEach public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new PropertyBook(), new UserPrefs()); - expectedModel = new ModelManager(model.getAddressBook(), new PropertyBook(), new UserPrefs()); + model = new ModelManager(getTypicalAddressBook(), getTypicalPropertyBook(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), model.getPropertyBook(), new UserPrefs()); } @Test diff --git a/src/test/java/seedu/address/logic/commands/ListPropertyCommandTest.java b/src/test/java/seedu/address/logic/commands/ListPropertyCommandTest.java index 02c5b41de04..1df2c8a1ec2 100644 --- a/src/test/java/seedu/address/logic/commands/ListPropertyCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListPropertyCommandTest.java @@ -1,16 +1,16 @@ package seedu.address.logic.commands; +import static seedu.address.logic.commands.CommandPropertyTestUtil.showPropertyAtIndex; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; -import static seedu.address.logic.commands.CommandTestUtil.showCustomerAtIndex; import static seedu.address.testutil.TypicalCustomers.getTypicalAddressBook; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_CUSTOMER; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PROPERTY; +import static seedu.address.testutil.TypicalProperties.getTypicalPropertyBook; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import seedu.address.model.Model; import seedu.address.model.ModelManager; -import seedu.address.model.PropertyBook; import seedu.address.model.UserPrefs; /** @@ -23,8 +23,8 @@ public class ListPropertyCommandTest { @BeforeEach public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new PropertyBook(), new UserPrefs()); - expectedModel = new ModelManager(model.getAddressBook(), new PropertyBook(), new UserPrefs()); + model = new ModelManager(getTypicalAddressBook(), getTypicalPropertyBook(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), model.getPropertyBook(), new UserPrefs()); } @Test @@ -34,7 +34,7 @@ public void execute_listIsNotFiltered_showsSameList() { @Test public void execute_listIsFiltered_showsEverything() { - showCustomerAtIndex(model, INDEX_FIRST_CUSTOMER); + showPropertyAtIndex(model, INDEX_FIRST_PROPERTY); assertCommandSuccess(new ListPropertyCommand(), model, ListPropertyCommand.MESSAGE_SUCCESS, expectedModel); } } diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 59699038857..d5f21d22d22 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -47,6 +47,7 @@ public void parseCommand_addcust() throws Exception { public void parseCommand_addprop() throws Exception { Property property = new PropertyBuilder().build(); AddPropertyCommand command = (AddPropertyCommand) parser.parseCommand(PropertyUtil.getAddCommand(property)); + System.out.println(command); assertEquals(new AddPropertyCommand(property), command); } diff --git a/src/test/java/seedu/address/model/property/PropNameContainsKeywordsPredicateTest.java b/src/test/java/seedu/address/model/property/PropNameContainsKeywordsPredicateTest.java index 9ba6a09de0b..896903d55d7 100644 --- a/src/test/java/seedu/address/model/property/PropNameContainsKeywordsPredicateTest.java +++ b/src/test/java/seedu/address/model/property/PropNameContainsKeywordsPredicateTest.java @@ -47,7 +47,7 @@ public void test_nameContainsKeywords_returnsTrue() { // One keyword PropNameContainsKeywordsPredicate predicate = new PropNameContainsKeywordsPredicate(Collections.singletonList("Aquavista")); - assertTrue(predicate.test(new PropertyBuilder().withName(" Skyview").build())); + assertTrue(predicate.test(new PropertyBuilder().withName("Aquavista Skyview").build())); // Multiple keywords predicate = new PropNameContainsKeywordsPredicate(Arrays.asList("Aquavista", "Skyview")); @@ -73,8 +73,7 @@ public void test_nameDoesNotContainKeywords_returnsFalse() { assertFalse(predicate.test(new PropertyBuilder().withName("Aquavista Skyview").build())); // Keywords match phone, address and price, but does not match name - predicate = new PropNameContainsKeywordsPredicate(Arrays.asList("12345", "123 Orchid Lane, Singapore 456789", - "Main", "Street")); + predicate = new PropNameContainsKeywordsPredicate(Arrays.asList("Horizonview", "Main", "Street")); assertFalse(predicate.test(new PropertyBuilder().withName("Aquavista").withPhone("12345") .withAddress("123 Orchid Lane, Singapore 456789").withPrice("123456").build())); } diff --git a/src/test/java/seedu/address/model/property/PropNameTest.java b/src/test/java/seedu/address/model/property/PropNameTest.java index f32ff61f936..c7aee379194 100644 --- a/src/test/java/seedu/address/model/property/PropNameTest.java +++ b/src/test/java/seedu/address/model/property/PropNameTest.java @@ -27,10 +27,10 @@ public void isValidPropName() { // invalid name assertFalse(PropName.isValidName("")); // empty string assertFalse(PropName.isValidName(" ")); // spaces only - assertFalse(PropName.isValidName("^")); // only non-alphanumeric characters - assertFalse(PropName.isValidName("skyview*")); // contains non-alphanumeric characters // valid name + assertTrue(PropName.isValidName("^")); // only non-alphanumeric characters + assertTrue(PropName.isValidName("skyview*")); // contains non-alphanumeric characters assertTrue(PropName.isValidName("skyview")); // alphabets only assertTrue(PropName.isValidName("12345")); // numbers only assertTrue(PropName.isValidName("skyview 2")); // alphanumeric characters diff --git a/src/test/java/seedu/address/model/property/PropertyTest.java b/src/test/java/seedu/address/model/property/PropertyTest.java index 6cf093bfe75..817669e16b9 100644 --- a/src/test/java/seedu/address/model/property/PropertyTest.java +++ b/src/test/java/seedu/address/model/property/PropertyTest.java @@ -94,7 +94,7 @@ public void equals() { @Test public void toStringMethod() { String expected = Property.class.getCanonicalName() + "{name=" + AQUAVISTA.getName() - + ", phone=" + AQUAVISTA.getPhone() + ", address=" + AQUAVISTA.getAddress() + + ", address=" + AQUAVISTA.getAddress() + ", phone=" + AQUAVISTA.getPhone() + ", price=" + AQUAVISTA.getPrice() + ", tags=" + AQUAVISTA.getTags() + "}"; assertEquals(expected, AQUAVISTA.toString()); } diff --git a/src/test/java/seedu/address/testutil/PropertyUtil.java b/src/test/java/seedu/address/testutil/PropertyUtil.java index ab9dc08e09c..48fb1c1beb8 100644 --- a/src/test/java/seedu/address/testutil/PropertyUtil.java +++ b/src/test/java/seedu/address/testutil/PropertyUtil.java @@ -1,9 +1,9 @@ package seedu.address.testutil; -import static seedu.address.logic.parser.CliSyntax.PREFIX_BUDGET; -import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PRICE; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; import seedu.address.logic.commands.AddPropertyCommand; @@ -28,8 +28,8 @@ public static String getPropertyDetails(Property property) { StringBuilder sb = new StringBuilder(); sb.append(PREFIX_NAME + property.getName().fullName + " "); sb.append(PREFIX_PHONE + property.getPhone().value + " "); - sb.append(PREFIX_EMAIL + property.getAddress().value + " "); - sb.append(PREFIX_BUDGET + property.getPrice().value + " "); + sb.append(PREFIX_ADDRESS + property.getAddress().value + " "); + sb.append(PREFIX_PRICE + property.getPrice().value + " "); property.getTags().stream().forEach( s -> sb.append(PREFIX_TAG + s.tagName + " ") ); diff --git a/src/test/java/seedu/address/testutil/TypicalProperties.java b/src/test/java/seedu/address/testutil/TypicalProperties.java index a24d7e50366..a975b2e3357 100644 --- a/src/test/java/seedu/address/testutil/TypicalProperties.java +++ b/src/test/java/seedu/address/testutil/TypicalProperties.java @@ -36,17 +36,17 @@ public class TypicalProperties { public static final Property LUXELOFT = new PropertyBuilder().withName("Luxeloft").withPhone("87652533") .withAddress("234 Amber Crescent, Singapore 567890").withPrice("10000").withTags("garage").build(); public static final Property RIVERIA = new PropertyBuilder().withName("Riveria").withPhone("9482224") - .withAddress(" 567 Maple Lane, Singapore 109876").withPrice("4000000").build(); + .withAddress("567 Maple Lane, Singapore 109876").withPrice("4000000").build(); public static final Property AZURE = new PropertyBuilder().withName("Azure").withPhone("9482427") .withAddress("101 Radiant Lane, Singapore 123456").withPrice("874000").build(); public static final Property TRANQUILIS = new PropertyBuilder().withName("Tranquilis").withPhone("9482442") - .withAddress(" 202 Shoreline Street, Singapore 654321").withPrice("321950").build(); + .withAddress("202 Shoreline Street, Singapore 654321").withPrice("321950").build(); // Manually added public static final Property ASCEND = new PropertyBuilder().withName("Ascend").withPhone("8482424") .withAddress("909 Skyline Boulevard, Singapore 789123").withPrice("4321000").build(); public static final Property SPECTRA = new PropertyBuilder().withName("Spectra").withPhone("8482131") - .withAddress(" 808 Colorful Street, Singapore 456012").withPrice("500000").build(); + .withAddress("808 Colorful Street, Singapore 456012").withPrice("500000").build(); // Manually added - Customer's details found in {@code CommandTestUtil} public static final Property AQUAVIEW = new PropertyBuilder().withName(VALID_NAME_AQUAVIEW)