public bool updateSingleTestResult(int uId, int tId, SingleTestResult uSingleResult) { var singleResult = db.SingleTestResults.SingleOrDefault(t => (t.UserId == uId && t.TestId == tId)); if (singleResult != null) { singleResult.Passed = uSingleResult.passed; singleResult.Attempts = uSingleResult.tries; singleResult.TimeUsed = uSingleResult.timeSpent; } else { return(false); } try { db.SaveChanges(); return(true); } catch (Exception e) { Debug.WriteLine(e.StackTrace); Debug.WriteLine(e.Message); return(false); } }
public bool addSingleResult(SingleTestResult result) { var singleResultRow = new SingleTestResults() { Passed = result.passed, Attempts = result.tries, TimeUsed = result.timeSpent, UserId = result.userId, TestId = result.testId, CodeLink = result.codeLink }; try { db.Add(singleResultRow); db.SaveChanges(); return(true); } catch (Exception e) { Debug.WriteLine(e.StackTrace); Debug.WriteLine(e.Message); return(false); } }
public void StoreResult(int numCities, string methodName, SingleTestResult result) { if (!_cityToFunctionToResults.ContainsKey(numCities)) { _cityToFunctionToResults.Add(numCities, new Dictionary<string, List<SingleTestResult>>()); } Dictionary<string, List<SingleTestResult>> functionToResults = _cityToFunctionToResults[numCities]; if (!functionToResults.ContainsKey(methodName)) { functionToResults.Add(methodName, new List<SingleTestResult>()); } functionToResults[methodName].Add(result); _usedMethods.Add(methodName); }
private SingleTestResult runAllTestIterations(TestSuiteEntry curTest, MethodInfo implementation, BackgroundWorker worker, TestSuiteProgressData progressData) { List<SingleTestResult> _allTestResults = new List<SingleTestResult>(); for (int i = 0; i < curTest.NumberOfIterations; i++) { Log("Running {0} iteration: {1}/{2}", implementation.Name, (i + 1), curTest.NumberOfIterations); progressData.CurrentIterationProgress++; progressData.CurrentMaxProgress++; worker.ReportProgress(progressData.CompletionPercentage, progressData); Random random = new Random(); int seed = random.Next(1000); // 3-digit random number SingleTestResult thisRun = runTestIteration(seed, curTest.NumberCities, implementation, worker, progressData); _allTestResults.Add(thisRun); Log("Result was {0}", thisRun); } double averageTime = 0; double averageDistance = 0; foreach (SingleTestResult s in _allTestResults) { averageTime += s.TimeInSeconds; averageDistance += s.Distance; } averageTime /= curTest.NumberOfIterations; averageDistance /= curTest.NumberOfIterations; SingleTestResult averageTestResult = new SingleTestResult(averageDistance, averageTime); Log("Average test result was {0}", averageTestResult.ToString()); progressData.MostRecentSolution = String.Format("{0} Number of cities with function {1} and {2} iterations" + " took {3} seconds with cost of {4}", curTest.NumberCities, implementation.Name, curTest.NumberOfIterations, averageTestResult.TimeInSeconds, averageTestResult.Distance); worker.ReportProgress(progressData.CompletionPercentage, progressData); return averageTestResult; }