public void ContestNotStartedTest()
        {
            var contest = new Contest
            {
                StartTime  = DateTime.UtcNow.AddDays(2),
                FinishTime = DateTime.UtcNow.AddDays(3)
            };

            var task = new ContestTask
            {
                Task = new Model.CheckSolution.Task()
            };

            _contestsRepository.Stub(o => o.Get(1)).Return(contest);
            _contestTaskRepository.Stub(o => o.Get(1, "A")).Return(task);

            var result = _service.GetStatement(1, "A");

            Assert.That(result.Contest.IsNotStarted, Is.True);
            Assert.That(result.Contest.IsFinished, Is.False);
            Assert.That(result.Contest.Status, Is.EqualTo(ContestStatus.Planned));
        }
        public void SubmitTest()
        {
            var contest = new Contest
            {
                StartTime  = DateTime.Now.AddDays(-2),
                FinishTime = DateTime.Now.AddDays(2)
            };

            _contestsRepository.Stub(o => o.Get(1)).Return(contest);
            var contestTask = new ContestTask
            {
                Task = new Model.CheckSolution.Task()
            };

            _contestTaskRepository.Stub(o => o.Get(1, "A")).Return(contestTask);

            var userInfo = new UserInfo(9, null, null);

            _service.SubmitSolution(1, "A", 2, new FakeHttpPostedFileBase(), userInfo);

            _submitRepository.AssertWasCalled(o => o.Add(Arg <ContestTaskSubmit> .Is.Anything));
        }