Skip to content

Commit

Permalink
Sarthak | Adds delegating methods in Arguments
Browse files Browse the repository at this point in the history
  • Loading branch information
SarthakMakhija committed Jan 10, 2025
1 parent c77a832 commit eb31ffe
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ public AddCommands(Projects projects) {

@Override
public void execute(Arguments arguments) throws Exception {
Command command = this.commandBySubCommand.get(arguments.get(0));
Command command = this.commandBySubCommand.get(arguments.argumentAtIndexAsString(0));
if (command == null) {
throw new IllegalArgumentException("Unknown command: " + arguments.get(0));
throw new IllegalArgumentException("Unknown command: " + arguments.argumentAtIndexAsString(0));
}
command.execute(arguments.skipOne());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ class AddProjectCommand implements Command {

@Override
public void execute(Arguments arguments) {
assert (arguments.size() == 1);
String projectName = arguments.get(0);
assert (arguments.count() == 1);
String projectName = arguments.argumentAtIndexAsString(0);
projects.addProject(projectName);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ class AddTaskCommand implements Command {

@Override
public void execute(Arguments arguments) {
assert (arguments.size() == 2);
String projectName = arguments.get(0);
String taskDescription = arguments.get(1);
assert (arguments.count() == 2);
String projectName = arguments.argumentAtIndexAsString(0);
String taskDescription = arguments.argumentAtIndexAsString(1);

this.lastTaskId = this.lastTaskId + 1;
projects.addTaskToProjectWithName(projectName, new Task(this.lastTaskId, taskDescription, false));
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/com/codurance/training/commands/Arguments.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,16 @@ Arguments skipOne() {
int argumentAtIndexAsInt(int index) {
return Integer.parseInt(this.get(index));
}

String argumentAtIndexAsString(int index) {
return get(index);
}

int count() {
return size();
}

boolean hasAny() {
return size() == 0;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class UncheckCommand implements Command {

@Override
public void execute(Arguments arguments) throws Exception {
assert (arguments.size() == 1);
assert (arguments.count() == 1);
if (projects.markTaskWithIdNotDone(arguments.argumentAtIndexAsInt(0))) return;
writer.write(nonExistingTaskId.errorMessage(arguments.argumentAtIndexAsInt(0)));
}
Expand All @@ -44,7 +44,7 @@ class CheckCommand implements Command {

@Override
public void execute(Arguments arguments) throws Exception {
assert (arguments.size() == 1);
assert (arguments.count() == 1);
if (projects.markTaskWithIdDone(arguments.argumentAtIndexAsInt(0))) return;
writer.write(nonExistingTaskId.errorMessage(arguments.argumentAtIndexAsInt(0)));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class ShowCommand implements Command {

@Override
public void execute(Arguments arguments) throws Exception {
assert (arguments.isEmpty());
assert (arguments.hasAny());
this.writer.write(this.projects.format());
}
}

0 comments on commit eb31ffe

Please sign in to comment.