public AHPEducationLine(EducationLine educationLineGiven, List <Entrant> entrantsGiven) { _educationLine = educationLineGiven; _entrants = entrantsGiven; _settings = new AHPEdLineSettings(); CalculateAll(); }
public AhpEducationLine(EducationLine educationLineGiven, List <Entrant> entrantsGiven, AhpEdLineSettings settings) { _educationLine = educationLineGiven; _entrants = entrantsGiven; _settings = settings; CalculateAll(); }
public AHPEducationLine(int edLineID) { _educationLine = context.EducationLines.Find(edLineID); foreach (var entrInDB in context.Entrants) { _entrants.Add(entrInDB); } _settings = new AHPEdLineSettings(); CalculateAll(); }
public AhpEducationLine(int edLineId) { _educationLine = _context.EducationLines.Find(edLineId); foreach (var entrInDb in _context.Entrants) { _entrants.Add(entrInDb); } _settings = new AhpEdLineSettings(); CalculateAll(); }
/// <summary> /// Opdaterer én Uddannelseslinje på ét specifikt Uddannelsessted udfra id. /// Ved kald af denne funktionalitet skal man angive Brugernavn og Passsword. Kun brugere /// kendt af systemet kan udnytte denne funktionalitet. /// </summary> /// <param name="json_Object">json_Objekt er et objekt i jSon format. Det skal indeholde /// data til funktionen med følgende felter specificeret : EducationLineName og EducationID.</param> /// <param name="id">Uddannelseslinje ID</param> /// <param name="Password">Password for nuværende bruger.</param> /// <param name="UserName">Brugernavn for nuværende bruger.</param> /// <returns> /// UpdateOperationOk (værdien 1) hvis Uddannelseslinje er gemt ok. /// Eller en retur kode med en værdi mindre end 0, hvis noget gik galt. /// Se en oversigt over return koder i ReturnCodesAndStrings eller klik /// her : <see cref="ReturnCodeAndReturnString"/> /// </returns> // PUT api/<controller>/5 public int Put(int id, dynamic json_Object, string UserName, string Password) { EducationLine EducationLine_Object = new EducationLine(); int NumberOfEducationLinesSaved; int UserID = 0; UserID = UserInfo.FindUserInDatabase(UserName, Password); if (Const.UserNotFound < UserID) { if ((null == json_Object.EducationLineName) || (null == json_Object.EducationID)) { return(Const.WrongjSonObjectParameters); } else { if (Const.ObjectNotFound == EducationLine.CheckForEducationLineNameInEducationLine((string)json_Object.EducationLineName, (int)json_Object.EducationID)) { EducationLine_Object = db.EducationLines.Find(id); if (null != EducationLine_Object) { EducationLine_Object.EducationLineName = json_Object.EducationLineName; EducationLine_Object.EducationID = json_Object.EducationID; NumberOfEducationLinesSaved = db.SaveChanges(); if (1 == NumberOfEducationLinesSaved) { LogData.LogDataToDatabase(UserName, DataBaseOperation.UpdateData_Enum, ModelDatabaseNumber.EducationLine_Enum); return(Const.UpdateOperationOk); } else { return(Const.UpdateOperationFailed); } } else { return(Const.ObjectNotFound); } } else { return(Const.ObjectAlreadyPresent); } } } else { return(Const.UserNotFound); } }
public void Calculate_Simple_Norm_Result() { //Arrange var namesHelper = Substitute.For <IEducationCharacteristicNamesHelper>(); var educationLineSummator = Substitute.For <ISummator <EducationLine> >(); var idealResult = Substitute.For <IIdealResult>(); var educationLineCharacterizer = new EducationLineCharacterizer(namesHelper, educationLineSummator, idealResult); var educationLine = new EducationLine(); var characteristicNames = new List <string> { "Русский", "Математика", "Информатика" }; namesHelper.Names.Returns(characteristicNames); var complicatedSum = new Dictionary <string, double>(); complicatedSum.Add("Русский", 0.4); complicatedSum.Add("Математика", 0.6); complicatedSum.Add("Информатика", 0.8); educationLineSummator.CalculateSimpleSum(educationLine).Returns(complicatedSum); var complicatedIdealSum = new Dictionary <string, double>(); complicatedIdealSum.Add("Русский", 0.4); complicatedIdealSum.Add("Математика", 0.6); complicatedIdealSum.Add("Информатика", 0.8); idealResult.GetSimpleResult().Returns(Task.FromResult(complicatedIdealSum)); //Act var resultTask = educationLineCharacterizer.Calculate(educationLine, false); resultTask.Wait(); //Assert var correctAnswer = new Dictionary <string, double>(); correctAnswer.Add("Русский", 1); correctAnswer.Add("Математика", 1); correctAnswer.Add("Информатика", 1); foreach (var item in resultTask.Result) { Assert.AreEqual(correctAnswer[item.Key], item.Value); } }
/// <summary> /// Sletter én specifik Uddannelseslinje på et specifikt Uddannelsessted udfra id. /// Ved kald af denne funktionalitet skal man angive Brugernavn og Passsword. Kun brugere kendt /// af systemet kan udnytte denne funktionalitet. /// </summary> /// <param name="id">Uddannelseslinje ID</param> /// <param name="Password">Password for nuværende bruger.</param> /// <param name="UserName">Brugernavn for nuværende bruger.</param> /// <returns> /// DeleteOperationOk (værdien 3) hvis Uddannelseslinje er slettet ok. /// Eller en retur kode med en værdi mindre end 0, hvis noget gik galt. /// Se en oversigt over return koder i ReturnCodesAndStrings eller klik /// her : <see cref="ReturnCodeAndReturnString"/> /// </returns> // DELETE api/<controller>/5 public int Delete(int id, string UserName, string Password) { EducationLine EducationLine_Object = new EducationLine(); int NumberOfEducationLinesDeleted; int UserID = 0; UserID = UserInfo.FindUserInDatabase(UserName, Password); if (Const.UserNotFound < UserID) { EducationLine_Object = db.EducationLines.Find(id); if (null != EducationLine_Object) { if (0 == User_Education_Time_Collection.FindEducationTime_Collection_With_Specified_EducationLineID(id)) { db.EducationLines.Remove(EducationLine_Object); NumberOfEducationLinesDeleted = db.SaveChanges(); if (1 == NumberOfEducationLinesDeleted) { LogData.LogDataToDatabase(UserName, DataBaseOperation.DeleteData_Enum, ModelDatabaseNumber.EducationLine_Enum); return(Const.DeleteOperationOk); } else { return(Const.DeleteOperationFailed); } } else { return(Const.SpecifiedContentStillInUseInTablesBelow); } } else { return(Const.ObjectNotFound); } } else { return(Const.UserNotFound); } }
public void GetCorrectIdealEducationLineComplicatedResult_and_result_is_cached() { //Arrange var educationLine = new EducationLine { Id = 2 }; var idealResult = new Dictionary <string, double>(); var queryBuilder = Substitute.For <IQueryBuilder>(); var educationLineSummator = Substitute.For <ISummator <EducationLine> >(); var idealEducationLineResult = new IdealEducationLineResult(educationLineSummator, queryBuilder); queryBuilder .For <Task <EducationLine> >() .With(Arg.Any <GetIdelaEducationLineForCharacterizerCriterion>()) .ReturnsForAnyArgs(Task.FromResult(educationLine)); queryBuilder.ClearReceivedCalls(); educationLineSummator.CalculateComplicatedSum(educationLine).Returns(idealResult); educationLineSummator.ClearReceivedCalls(); //Act var currentResultTask = idealEducationLineResult.GetComplicatedResult(); currentResultTask.Wait(); //последующие вызовы idealEducationLineResult.GetComplicatedResult().Wait(); idealEducationLineResult.GetComplicatedResult().Wait(); //Assert Assert.AreEqual(idealResult, currentResultTask.Result); //cache test //Проверяем что методы вызывались только при первом обращении queryBuilder.Received(1).For <Task <EducationLine> >(); educationLineSummator.Received(1).CalculateComplicatedSum(educationLine); }
public EducationLineWithCharacterisics(EducationLine educationLine, Dictionary <string, double> characterisics) { EducationLine = educationLine; Characterisics = characterisics; }
public void GetRecomedtationMethod_get_ordered_and_correct_recomedations() { //Arrange var entrantCharacterizer = Substitute.For <ICharacterizer <Entrant> >(); var educationLineCharacterizer = Substitute.For <ICharacterizer <EducationLine> >(); var educationLine = new EducationLine(); var entrantList = new List <Entrant> { new Entrant { Id = 1 }, new Entrant { Id = 2 } }; var educationLineCharcteristic = new Dictionary <string, double> { { "Русский", 0.5 }, { "Математика", 0.6 }, { "Информатика", 0.7 } }; var entrantCharacteristic1 = new Dictionary <string, double> { { "Русский", 0.8 }, { "Математика", 0.6 }, { "Информатика", 0.5 } }; var entrantCharacteristic2 = new Dictionary <string, double> { { "Русский", 0.6 }, { "Математика", 0.7 }, { "Информатика", 0.8 } }; var entrantEdLineOneDistance = Math.Abs(0.5 - 0.8) + Math.Abs(0.6 - 0.6) + Math.Abs(0.7 - 0.5); //0.5 var entrantEdLineTwoDistance = Math.Abs(0.5 - 0.6) + Math.Abs(0.6 - 0.7) + Math.Abs(0.7 - 0.8); //0.3 educationLineCharacterizer .Calculate(educationLine) .Returns(Task.FromResult(educationLineCharcteristic)); entrantCharacterizer .Calculate(entrantList[0]) .Returns(Task.FromResult(entrantCharacteristic1)); entrantCharacterizer .Calculate(entrantList[1]) .Returns(Task.FromResult(entrantCharacteristic2)); //Act var entrantRecomendator = new EducationLineDistanceRecomendator(entrantCharacterizer, educationLineCharacterizer); var taskResult = entrantRecomendator.GetRecomendation(educationLine, entrantList); taskResult.Wait(); var result = taskResult.Result; //Assert Assert.IsTrue(result.Count == 2); Assert.IsTrue(result[entrantList[1]] == entrantEdLineTwoDistance); Assert.IsTrue(result[entrantList[0]] == entrantEdLineOneDistance); }