Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Commit e70fd3d

Browse files
author
Aleksi Salmela
committed
Remove two deprecated methods from the cli context.
1 parent a427dd9 commit e70fd3d

6 files changed

Lines changed: 34 additions & 53 deletions

File tree

src/main/java/fi/helsinki/cs/tmc/cli/Application.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,6 @@ public Application(CliContext context) {
5757
}
5858
}
5959

60-
public Application(Io io, WorkDir workDir) {
61-
this(new CliContext(io, workDir));
62-
}
63-
6460
private boolean runCommand(String name, String[] args) {
6561
AbstractCommand command = CommandFactory.createCommand(this.context, name);
6662
if (command == null) {

src/main/java/fi/helsinki/cs/tmc/cli/CliContext.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,13 @@ public class CliContext {
3131

3232
/*TODO some of the constructors could be removed */
3333
public CliContext(Io io) {
34-
this(io, new WorkDir());
34+
this(io, new WorkDir(), null);
3535
}
3636

3737
public CliContext(Io io, TmcCore core) {
3838
this(io, new WorkDir(), core);
3939
}
4040

41-
@Deprecated
42-
public CliContext(Io io, WorkDir workDir) {
43-
this(io, workDir, null);
44-
}
45-
4641
public CliContext(Io io, WorkDir workDir, TmcCore core) {
4742
inTest = (io != null);
4843
if (!inTest) {
@@ -91,16 +86,6 @@ public WorkDir getWorkDir() {
9186
return this.workDir;
9287
}
9388

94-
/**
95-
* Does some thing in old style.
96-
*
97-
* @deprecated use {@link fi.helsinki.cs.tmc.cli.tmcstuff.WorkDir#setWorkdir(String)} instead.
98-
*/
99-
@Deprecated
100-
public void setWorkdir(WorkDir workDir) {
101-
this.workDir = workDir;
102-
}
103-
10489
public CourseInfo createCourseInfo(Course course) {
10590
return new CourseInfo(settings, course);
10691
}

src/test/java/fi/helsinki/cs/tmc/cli/command/CourseInfoCommandTest.java

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ public void setUp() {
6262
mockCore = mock(TmcCore.class);
6363
ctx = new CliContext(io, mockCore);
6464
app = new Application(ctx);
65+
workDir = ctx.getWorkDir();
6566

6667
course = new Course("test-course123");
6768
List<Exercise> exercises = new ArrayList<>();
@@ -136,8 +137,7 @@ public void printCourseWithNoExercisesFromTheServer() {
136137

137138
@Test
138139
public void printExerciseIfInExerciseDirectoryWithoutParameters() {
139-
workDir = new WorkDir(pathToDummyExercise);
140-
ctx.setWorkdir(workDir);
140+
workDir.setWorkdir(pathToDummyExercise);
141141
String[] args = {"info"};
142142
app.run(args);
143143
io.assertContains(EXERCISE1_NAME);
@@ -146,8 +146,7 @@ public void printExerciseIfInExerciseDirectoryWithoutParameters() {
146146

147147
@Test
148148
public void printExerciseIfInCourseDirectoryAndGivenExerciseName() {
149-
workDir = new WorkDir(pathToDummyCourse);
150-
ctx.setWorkdir(workDir);
149+
workDir.setWorkdir(pathToDummyCourse);
151150
String[] args = {"info", EXERCISE1_NAME};
152151
app.run(args);
153152
io.assertContains(EXERCISE1_NAME);
@@ -156,25 +155,22 @@ public void printExerciseIfInCourseDirectoryAndGivenExerciseName() {
156155

157156
@Test
158157
public void printCourseIfInCourseDirectoryWithoutParameters() {
159-
workDir = new WorkDir(pathToDummyCourse);
160-
ctx.setWorkdir(workDir);
158+
workDir.setWorkdir(pathToDummyCourse);
161159
String[] args = {"info"};
162160
app.run(args);
163161
io.assertContains("2016-aalto-c");
164162
}
165163

166164
@Test
167165
public void printErrorMessageIfNotInCourseDirectoryAndCourseDoesntExist() {
168-
workDir = new WorkDir(Paths.get(System.getProperty("java.io.tmpdir")));
169-
ctx.setWorkdir(workDir);
166+
workDir.setWorkdir(Paths.get(System.getProperty("java.io.tmpdir")));
170167
String[] args = {"info", "notacourse"};
171168
app.run(args);
172169
}
173170

174171
@Test
175172
public void printGivenCourseFromTheServerIfInCourseDirectoryAndGivenCourseName() {
176-
workDir = new WorkDir(pathToDummyCourse);
177-
ctx.setWorkdir(workDir);
173+
workDir.setWorkdir(pathToDummyCourse);
178174

179175
course.setExercises(new ArrayList<Exercise>());
180176
when(TmcUtil.findCourse(eq(ctx), eq("test-course123"))).thenReturn(course);
@@ -186,8 +182,7 @@ public void printGivenCourseFromTheServerIfInCourseDirectoryAndGivenCourseName()
186182

187183
@Test
188184
public void printsErrorIfInCourseDirectoryAndGivenCourseNameThatDoesntExistOnTheServer() {
189-
workDir = new WorkDir(pathToDummyCourse);
190-
ctx.setWorkdir(workDir);
185+
workDir.setWorkdir(pathToDummyCourse);
191186

192187
when(TmcUtil.findCourse(eq(ctx), eq("test-course123"))).thenReturn(course);
193188

@@ -198,8 +193,7 @@ public void printsErrorIfInCourseDirectoryAndGivenCourseNameThatDoesntExistOnThe
198193

199194
@Test
200195
public void printsLongExerciseInfoWithOption() {
201-
workDir = new WorkDir(pathToDummyExercise);
202-
ctx.setWorkdir(workDir);
196+
workDir.setWorkdir(pathToDummyExercise);
203197
String[] args = {"info", "-a"};
204198
app.run(args);
205199

src/test/java/fi/helsinki/cs/tmc/cli/command/ListExercisesCommandTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public class ListExercisesCommandTest {
4040
private CliContext ctx;
4141
private TestIo io;
4242
private TmcCore mockCore;
43+
private WorkDir workDir;
4344

4445
@BeforeClass
4546
public static void setUpClass() throws Exception {
@@ -57,6 +58,7 @@ public void setUp() {
5758
mockCore = mock(TmcCore.class);
5859
ctx = new CliContext(io, mockCore);
5960
app = new Application(ctx);
61+
workDir = ctx.getWorkDir();
6062

6163
mockStatic(TmcUtil.class);
6264
}
@@ -74,23 +76,23 @@ public void failIfBackendFails() {
7476

7577
@Test
7678
public void worksLocallyIfNotInCourseDirectoryAndCourseIsSpecified() {
77-
ctx.setWorkdir(new WorkDir(pathToNonCourseDir));
79+
workDir.setWorkdir(pathToNonCourseDir);
7880
String[] args = {"exercises", "fooCourse", "-n"};
7981
app.run(args);
8082
io.assertContains("You have to be in a course directory or use the -i");
8183
}
8284

8385
@Test
8486
public void worksLocallyIfInCourseDirectoryAndRightCourseIsSpecified() {
85-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
87+
workDir.setWorkdir(pathToDummyCourse);
8688
String[] args = {"exercises", COURSE_NAME, "-n"};
8789
app.run(args);
8890
io.assertContains("Deadline:");
8991
}
9092

9193
@Test
9294
public void worksLocallyIfInCourseDirectoryAndCourseIsNotSpecified() {
93-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
95+
workDir.setWorkdir(pathToDummyCourse);
9496
String[] args = {"exercises", "-n"};
9597
app.run(args);
9698
io.assertContains("Deadline:");

src/test/java/fi/helsinki/cs/tmc/cli/command/SubmitCommandTest.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public class SubmitCommandTest {
5252
private CliContext ctx;
5353
private TestIo io;
5454
private TmcCore mockCore;
55+
private WorkDir workDir;
5556

5657
private Course course;
5758
private SubmissionResult result;
@@ -79,6 +80,7 @@ public void setUp() {
7980
mockCore = mock(TmcCore.class);
8081
ctx = new CliContext(io, mockCore);
8182
app = new Application(ctx);
83+
workDir = ctx.getWorkDir();
8284

8385
course = new Course(COURSE_NAME);
8486
result = new SubmissionResult();
@@ -96,7 +98,7 @@ public void setUp() {
9698

9799
@Test
98100
public void testSuccessInExerciseRoot() {
99-
ctx.setWorkdir(new WorkDir(pathToDummyExercise));
101+
workDir.setWorkdir(pathToDummyExercise);
100102
app.run(new String[]{"submit"});
101103
io.assertContains("Submitting: " + EXERCISE1_NAME);
102104

@@ -106,7 +108,7 @@ public void testSuccessInExerciseRoot() {
106108

107109
@Test
108110
public void canSubmitFromCourseDirIfExerciseNameIsGiven() {
109-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
111+
workDir.setWorkdir(pathToDummyCourse);
110112
app.run(new String[]{"submit", EXERCISE1_NAME});
111113
io.assertContains("Submitting: " + EXERCISE1_NAME);
112114

@@ -116,7 +118,7 @@ public void canSubmitFromCourseDirIfExerciseNameIsGiven() {
116118

117119
@Test
118120
public void canSubmitMultipleExercisesIfNamesAreGiven() {
119-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
121+
workDir.setWorkdir(pathToDummyCourse);
120122
app.run(new String[]{"submit", EXERCISE1_NAME, EXERCISE2_NAME});
121123
io.assertContains("Submitting: " + EXERCISE1_NAME);
122124
io.assertContains("Submitting: " + EXERCISE2_NAME);
@@ -127,7 +129,7 @@ public void canSubmitMultipleExercisesIfNamesAreGiven() {
127129

128130
@Test
129131
public void submitsAllExercisesFromCourseDirIfNoNameIsGiven() {
130-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
132+
workDir.setWorkdir(pathToDummyCourse);
131133
app.run(new String[]{"submit"});
132134
io.assertContains("Submitting: " + EXERCISE1_NAME);
133135
io.assertContains("Submitting: " + EXERCISE2_NAME);
@@ -139,21 +141,21 @@ public void submitsAllExercisesFromCourseDirIfNoNameIsGiven() {
139141

140142
@Test
141143
public void doesNotSubmitExtraExercisesFromExerciseRoot() {
142-
ctx.setWorkdir(new WorkDir(pathToDummyExercise));
144+
workDir.setWorkdir(pathToDummyExercise);
143145
app.run(new String[]{"submit"});
144146
assertEquals(1, countSubstring("Submitting: ", io.out()));
145147
}
146148

147149
@Test
148150
public void doesNotSubmitExtraExercisesFromCourseDir() {
149-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
151+
workDir.setWorkdir(pathToDummyCourse);
150152
app.run(new String[]{"submit", EXERCISE1_NAME});
151153
assertEquals(1, countSubstring("Submitting: ", io.out()));
152154
}
153155

154156
@Test
155157
public void abortIfInvalidCmdLineArgumentIsGiven() {
156-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
158+
workDir.setWorkdir(pathToDummyCourse);
157159
app.run(new String[]{"submit", EXERCISE1_NAME, "-foo"});
158160
io.assertContains("Invalid command line argument");
159161

@@ -163,15 +165,15 @@ public void abortIfInvalidCmdLineArgumentIsGiven() {
163165

164166
@Test
165167
public void abortIfInvalidExerciseNameIsGivenAsArgument() {
166-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
168+
workDir.setWorkdir(pathToDummyCourse);
167169
app.run(new String[]{"submit", "foo"});
168170
io.assertContains("Error: foo is not a valid exercise.");
169171
assertEquals(0, countSubstring("Submitting: ", io.out()));
170172
}
171173

172174
@Test
173175
public void abortGracefullyIfNotInCourseDir() {
174-
ctx.setWorkdir(new WorkDir(pathToNonCourseDir));
176+
workDir.setWorkdir(pathToNonCourseDir);
175177
app.run(new String[]{"submit"});
176178
io.assertContains("No exercises specified.");
177179

@@ -182,7 +184,7 @@ public void abortGracefullyIfNotInCourseDir() {
182184
@Test
183185
public void showFailMsgIfSubmissionFailsInCore() {
184186
when(TmcUtil.submitExercise(any(CliContext.class), any(Exercise.class))).thenReturn(null);
185-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
187+
workDir.setWorkdir(pathToDummyCourse);
186188
app.run(new String[]{"submit", EXERCISE1_NAME});
187189

188190
assertEquals(1, countSubstring("Submitting: ", io.out()));
@@ -194,7 +196,7 @@ public void showFailMsgIfSubmissionFailsInCore() {
194196

195197
@Test
196198
public void canSubmitFromExerciseSubdirs() {
197-
ctx.setWorkdir(new WorkDir(pathToDummyExerciseSrc));
199+
workDir.setWorkdir(pathToDummyExerciseSrc);
198200
app.run(new String[]{"submit"});
199201

200202
io.assertContains("Submitting: " + EXERCISE1_NAME);
@@ -204,7 +206,7 @@ public void canSubmitFromExerciseSubdirs() {
204206

205207
@Test
206208
public void doesNotShowUpdateMessageIfNoUpdatesAvailable() {
207-
ctx.setWorkdir(new WorkDir(pathToDummyExercise));
209+
workDir.setWorkdir(pathToDummyExercise);
208210
app.run(new String[]{"submit"});
209211

210212
io.assertNotContains("available");
@@ -225,7 +227,7 @@ public void showsMessageIfNewExercisesAreAvailable() {
225227
when(TmcUtil.getUpdatableExercises(any(CliContext.class), any(Course.class)))
226228
.thenReturn(updateResult);
227229

228-
ctx.getWorkDir().setWorkdir(pathToDummyExercise);
230+
workDir.setWorkdir(pathToDummyExercise);
229231
app.run(new String[]{"submit"});
230232

231233
io.assertContains("1 new exercise available");

src/test/java/fi/helsinki/cs/tmc/cli/command/UpdateCommandTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public class UpdateCommandTest {
4747
private CliContext ctx;
4848
private TestIo io;
4949
private TmcCore mockCore;
50+
private WorkDir workDir;
5051
private ExerciseUpdater exerciseUpdater;
5152

5253
@BeforeClass
@@ -68,6 +69,7 @@ public void setUp() throws Exception {
6869
mockCore = mock(TmcCore.class);
6970
ctx = new CliContext(io, mockCore);
7071
app = new Application(ctx);
72+
workDir = ctx.getWorkDir();
7173

7274
exerciseUpdater = PowerMockito.mock(ExerciseUpdater.class);
7375
PowerMockito.whenNew(ExerciseUpdater.class).withAnyArguments().thenReturn(exerciseUpdater);
@@ -93,7 +95,7 @@ public void printsAnErrorMessageIfGivenCourseName() {
9395

9496
@Test
9597
public void printsAnErrorMessageIfUsedOutsideCourseDirectory() {
96-
ctx.setWorkdir(new WorkDir(pathToNonCourseDir));
98+
workDir.setWorkdir(pathToNonCourseDir);
9799
String[] args = {"update"};
98100
app.run(args);
99101
io.assertContains("Not a course directory");
@@ -103,7 +105,7 @@ public void printsAnErrorMessageIfUsedOutsideCourseDirectory() {
103105
public void worksRightIfAllExercisesAreUpToDate() {
104106
when(exerciseUpdater.updatesAvailable()).thenReturn(false);
105107

106-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
108+
workDir.setWorkdir(pathToDummyCourse);
107109
String[] args = {"update"};
108110
app.run(args);
109111

@@ -134,7 +136,7 @@ public void updatesNewAndChangedExercises() {
134136
.thenReturn(newAndChanged);
135137
when(exerciseUpdater.updateCourseJson(any(CourseInfo.class), any(Path.class)))
136138
.thenReturn(true);
137-
ctx.setWorkdir(new WorkDir(pathToDummyCourse));
139+
workDir.setWorkdir(pathToDummyCourse);
138140
String[] args = {"update"};
139141
app.run(args);
140142

0 commit comments

Comments
 (0)