Skip to content

Commit 1793052

Browse files
Merge pull request nus-cs2113-AY2324S1#12 from wendelinwemhoener/improve-flashcard-support
Improve flashcard support
2 parents 83dcbf3 + eaa2901 commit 1793052

22 files changed

+260
-33
lines changed

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,5 @@ checkstyle {
4343

4444
run{
4545
standardInput = System.in
46+
enableAssertions = true
4647
}

docs/team/wendelinwemhoener.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# John Doe - Project Portfolio Page
1+
# Wendelin Wemhoener - Project Portfolio Page
22

33
## Overview
44

flashcard.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dfdfdf | aaaaaaaaaaaaaaaaaaa | - | - | -
2+
flash1 | dfdfdf | - | - | -
3+
adfdf | dfdfdf | - | - | -
4+
dfdfdf | dfdfdfdfdf | - | - | -
5+
who is this | me | - | - | -
6+
dfdfdfdaaaaaaaaaaaaa | dd | - | - | -

src/main/java/seedu/duke/Duke.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//@@author wendelinwemhoener
2+
13
package seedu.duke;
24

35
import seedu.duke.flashcard.Flashcard;
@@ -19,6 +21,7 @@ private void run() {
1921
Scanner scanner = new Scanner(System.in);
2022
String input;
2123
boolean shouldTerminate = false;
24+
2225
while (!shouldTerminate) {
2326
input = scanner.nextLine();
2427

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
//@@author wendelinwemhoener
2+
13
package seedu.duke.flashcard;
24

5+
import seedu.duke.flashcard.review.FlashcardReview;
6+
37
import java.time.LocalDateTime;
48
import java.util.ArrayList;
59

@@ -8,7 +12,11 @@ public class Flashcard {
812
private String backText;
913
private ArrayList<String> tags;
1014
private ArrayList<FlashcardReview> reviews;
11-
private LocalDateTime nextReviewOn;
15+
private LocalDateTime lastReviewOn;
16+
17+
public void setLastReviewOn(LocalDateTime lastReviewOn) {
18+
this.lastReviewOn = lastReviewOn;
19+
}
1220

1321
public Flashcard(String frontText, String backText) {
1422
this.frontText = frontText;
@@ -17,7 +25,7 @@ public Flashcard(String frontText, String backText) {
1725
tags = new ArrayList<>();
1826
reviews = new ArrayList<>();
1927

20-
nextReviewOn = null;
28+
lastReviewOn = null;
2129
}
2230

2331
public String getFrontText() {
@@ -29,11 +37,9 @@ public String getBackText() {
2937
}
3038

3139
public String toString() {
32-
return "-".repeat(80) + System.lineSeparator()
33-
+ "front text: " + frontText + System.lineSeparator()
40+
return "front text: " + frontText + System.lineSeparator()
3441
+ "back text: " + backText + System.lineSeparator()
3542
+ "tags: " + tags.toString() + System.lineSeparator()
36-
+ "next review due on: " + nextReviewOn + System.lineSeparator()
37-
+ "-".repeat(80);
43+
+ "next review due on: " + lastReviewOn + System.lineSeparator();
3844
}
3945
}

src/main/java/seedu/duke/flashcard/FlashcardCommandParser.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//@@author wendelinwemhoener
2+
13
package seedu.duke.flashcard;
24

35
import seedu.duke.flashcard.command.FlashcardCommand;
@@ -8,11 +10,13 @@
810

911
public class FlashcardCommandParser {
1012
public FlashcardCommand parseInput(String input) {
13+
assert input != null : "input is null";
14+
1115
if (input.startsWith("create flashcard")) {
1216
return new CreateFlashcardCommand();
1317
} else if (input.startsWith("list flashcards")) {
1418
return new ListFlashcardsCommand();
15-
} else if (input.startsWith("start review")) {
19+
} else if (input.startsWith("review flashcards")) {
1620
return new StartReviewCommand();
1721
}
1822

src/main/java/seedu/duke/flashcard/FlashcardComponent.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//@@author wendelinwemhoener
2+
13
package seedu.duke.flashcard;
24

35
import seedu.duke.flashcard.command.FlashcardCommand;
@@ -16,6 +18,8 @@ public class FlashcardComponent {
1618

1719
public FlashcardComponent(ArrayList<Flashcard> flashcards) {
1820
parser = new FlashcardCommandParser();
21+
22+
//@@author junhyeong0411
1923
storage = new FlashcardStorage("./flashcard.txt");
2024
try {
2125
flashcardList = storage.loadFlashcards();
@@ -25,9 +29,8 @@ public FlashcardComponent(ArrayList<Flashcard> flashcards) {
2529
flashcardList = new FlashcardList(flashcards);
2630
}
2731

28-
32+
//@@author wendelinwemhoener
2933
ui = new FlashcardUi(flashcardList);
30-
3134
}
3235

3336
public boolean isResponsible(String input) {
@@ -42,9 +45,15 @@ public boolean isResponsible(String input) {
4245

4346
public void processInput(String input) {
4447
FlashcardCommand command = parser.parseInput(input);
48+
assert !(command instanceof UnknownCommand) : "Command cannot be " +
49+
"unknown";
50+
4551
ui.executeCommand(command);
4652

53+
//@@author junhyeong0411
4754
// save after every commands
4855
storage.saveFlashcards(flashcardList.getFlashcards());
56+
57+
//@@author wendelinwemhoener
4958
}
5059
}

src/main/java/seedu/duke/flashcard/FlashcardDifficulty.java

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/main/java/seedu/duke/flashcard/FlashcardList.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//@@author wendelinwemhoener
2+
13
package seedu.duke.flashcard;
24

35
import java.util.ArrayList;

src/main/java/seedu/duke/flashcard/FlashcardReview.java

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)