@@ -0,0 +1,1531 @@
+package fi.helsinki.cs.tmc.cli;%0A%0Aimport static org.junit.Assert.assertEquals;%0A%0Aimport fi.helsinki.cs.tmc.cli.io.Io;%0Aimport fi.helsinki.cs.tmc.cli.io.TerminalIo;%0Aimport fi.helsinki.cs.tmc.cli.io.TestIo;%0Aimport fi.helsinki.cs.tmc.cli.tmcstuff.WorkDir;%0Aimport static org.junit.Assert.assertNull;%0A%0Aimport org.junit.Before;%0Aimport org.junit.Ignore;%0Aimport org.junit.Test;%0A%0Apublic class CliContextTest %7B%0A%0A    @Before%0A    public void setUp() %7B%0A    %7D%0A%0A    @Test%0A    public void getIoAfterItsSetInConstructor() %7B%0A        Io io = new TestIo();%0A        CliContext ctx = new CliContext(io);%0A        assertEquals(io, ctx.getIo());%0A    %7D%0A%0A    @Test%0A    public void getIoWhenItsNotGiven() %7B%0A        CliContext ctx = new CliContext(null);%0A        assertEquals(TerminalIo.class, ctx.getIo().getClass());%0A    %7D%0A%0A    @Test%0A    public void setAppAndGetIt() %7B%0A        CliContext ctx = new CliContext(null);%0A        Application app = new Application(ctx);%0A        ctx.setApp(app);%0A        assertEquals(app, ctx.getApp());%0A    %7D%0A%0A    @Test(expected=RuntimeException.class)%0A    public void getAppWithoutSettingIt() %7B%0A        CliContext ctx = new CliContext(null);%0A        assertNull(ctx.getApp());%0A    %7D%0A%0A    @Test%0A    public void setGetWorkDir() %7B%0A        WorkDir workDir = new WorkDir();%0A        CliContext ctx = new CliContext(null, null, workDir);%0A        assertEquals(workDir, ctx.getWorkDir());%0A    %7D%0A%0A%0A    @Ignore%0A    @Test%0A    public void backendInitWithoutCourse() %7B%0A    %7D%0A%0A    @Ignore%0A    @Test%0A    public void backendInitWithCourse() %7B%0A    %7D%0A%7D%0A

Add initial CliContext tests.