public static ProblemSubmit Create() { var submit = new ProblemSubmit(); submit.Results.Add(new SubmitResult(submit)); return(submit); }
public void HidePassedTestsForAcceptedTest() { var submit = ProblemSubmit.Create(); submit.ProblemId = 1; submit.UserId = 1; var submits = new[] { new SubmitResult(submit) { Status = SubmitStatus.Accepted, PassedTests = 10 } }; _submitResultRepository.Stub( o => o.GetSubmits(Arg <ISpecification <SubmitResult> > .Is.Anything, Arg <int> .Is.Anything, Arg <int> .Is.Anything)) .Return(submits); _taskRepository.Stub(o => o.GetTasks(Arg <long[]> .Is.Anything)).Return(new[] { new TaskName { Id = 1, Name = "A+B" } }); _userRepository.Stub(o => o.GetUsers(Arg <long[]> .Is.Anything)).Return(new[] { new User { Id = 1 } }); var model = _service.GetSubmitQueue(1, 1, 1); Assert.That(model.Submits.Select(o => o.PassedTests), Is.All.Null); }
public void SubmitSolution(long problemId, int selectedLanguage, HttpPostedFileBase file, UserInfo userInfo) { if (file == null) { throw new ArgumentNullException(nameof(file)); } string sourceCode; using (var sr = new StreamReader(file.InputStream)) { sourceCode = sr.ReadToEnd(); } var submit = ProblemSubmit.Create(); submit.ProblemId = problemId; submit.LanguageId = selectedLanguage; submit.UserId = userInfo.UserId; submit.FileName = Path.GetFileName(file.FileName); submit.SourceCode = sourceCode; submit.UserHost = userInfo.Host; submit.SessionId = userInfo.SessionId; using (var unitOfWork = _factory.GetUnitOfWork()) { var submitRepository = unitOfWork.SubmitRepository; submitRepository.Add(submit); unitOfWork.Commit(); } }
public void DequeueTest() { var factory = _container.Resolve <IUnitOfWorkFactory>(); long submitId; using (var uow = factory.GetUnitOfWork(true)) { var submitRepository = uow.GetRepository <ISubmitRepository>(); var submit = ProblemSubmit.Create(); submit.FileName = "main.cpp"; submit.LanguageId = 1; submit.ProblemId = 1; submit.SourceCode = "123"; submit.UserId = 1; submitRepository.Add(submit); uow.Commit(); submitId = submit.Id; } using (var uow = factory.GetUnitOfWork(true)) { var submitResultRepository = uow.GetRepository <ISubmitResultRepository>(); var submit = submitResultRepository.DequeueUnchecked(); Assert.NotNull(submit); Assert.That(submit.Submit.Id, Is.EqualTo(submitId)); } }