Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions src/main/java/EventListener.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
public class EventListener {
public class EventListener extends Thread{

private String messageToListenFor;
private String messageToReplyWith;
Expand All @@ -17,16 +17,24 @@ public EventListener(String message, String reply, Tracker tracker) {
}

public void run() {
while (!readyToQuit()) {
if (shouldReply()) {
reply();
}
}
}

public Boolean readyToQuit() {
return null;
return eventTracker.has("quit");
}

public Boolean shouldReply() {
return null;
return eventTracker.has(messageToListenFor);
}

public void reply() {
eventTracker.handle(messageToListenFor, () -> {
System.out.println(messageToReplyWith);
});
}
}
17 changes: 15 additions & 2 deletions src/main/java/EventTracker.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,30 @@ private EventTracker() {
}

synchronized public static EventTracker getInstance() {
return null;
return INSTANCE;
}

synchronized public void push(String message) {
Integer count = tracker.getOrDefault(message, 0);
tracker.put(message, count + 1);
}

synchronized public Boolean has(String message) {
return null;
Integer count = tracker.getOrDefault(message, 0);
return tracker.containsKey(message) && count > 0;
}

synchronized public void handle(String message, EventHandler e) {
try {
e.handle();
this.tracker.put(message, this.tracker.get(message) - 1);
} catch (NullPointerException n) {
System.out.println("Currently untracked.");
}
}

public Map<String, Integer> getTracker() {
return this.tracker;
}

// Do not use this. This constructor is for tests only
Expand Down
3 changes: 1 addition & 2 deletions src/test/java/EventListenerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ class TrackerMock implements Tracker {
public boolean itemWasPushed;
public boolean eventWasHandled;

@Override
public Map<String, Integer> tracker() {
return null;
}
Expand All @@ -48,7 +47,7 @@ public void push(String message) {
}

@Override
public boolean has(String message) {
public Boolean has(String message) {
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion src/test/java/EventTrackerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public void tracker() {

eventTracker.push("test");

Assert.assertEquals(testList, eventTracker.tracker());
Assert.assertEquals(testList, eventTracker.getTracker());

}

Expand Down