示例#1
0
        public void DeleteCourse_EvalsPresent_DeletesEvals()
        {
            var testCourseId = Guid.NewGuid();
            var testEvals    = new List <EvaluationEntity>
            {
                EvaluationFactory.Create_EvaluationEntity_ValidMinimum(testCourseId)
            };

            var testEvalRepo   = new MockRepository <EvaluationEntity>(testEvals);
            var evalService    = TestDatas.Evaluations.ServiceFactory.Create_EvaluationService();
            var evalInteractor = TestDatas.Evaluations.InteractorFactory.Create_EvaluationInteractor();

            evalInteractor.Repo = testEvalRepo;
            evalService.EvaluationInteractor = evalInteractor;
            evalService.ScoreInteractor      = new MockScoreInteractor();
            var testClass = ServiceFactory.Create_MockInteractor();

            testClass.EvaluationService = evalService;

            var result       = testClass.DeleteCourse(testCourseId);
            var resultScores = testClass.EvaluationService.GetEvaluationsForCourse(testCourseId);

            result.GetType().ShouldNotBe(typeof(ErrorDomainModel));
            resultScores.Count.ShouldBe(0);
        }
        public void UpdateEvaluation_NewObject_ThrowsObjectNotFound()
        {
            var testClass = InteractorFactory.Create_EvaluationInteractor();

            var testScore = EvaluationFactory.Create_EvaluationEntity_ValidMinimum();

            Should.Throw <ObjectNotFoundException>(() => testClass.UpdateEvaluation(testScore));
        }
示例#3
0
        public void CreateNewEvaluation_ValidModel_ResultNotNull()
        {
            var testClass = ServiceFactory.Create_EvaluationService();
            var testModel = EvaluationFactory.Create_CreateEvaluationDomainModel_ValidMinimum();

            var result = testClass.CreateNewEvaluation(testModel);

            result.ShouldNotBeNull();
        }
示例#4
0
        public EvaluationEntity GetEvaluation(Guid evaluationId)
        {
            if (evaluationId.Equals(Guid.Empty))
            {
                throw new ObjectNotFoundException();
            }

            return(EvaluationFactory.Create_EvaluationEntity_ValidMinimum(evaluationId));
        }
示例#5
0
        public void UpdateEvaluation_ValidModel_ReturnsValidModel()
        {
            var testEvaluationEntity = EvaluationFactory.Create_EvaluationEntity_ValidMinimum_CustomId(Guid.NewGuid());
            var testEvaluation       = new EvaluationDomainModel(testEvaluationEntity);
            var testClass            = ServiceFactory.Create_EvaluationService();

            var result = testClass.UpdateEvaluation(testEvaluation);

            result.GetType().ShouldNotBe(typeof(ErrorDomainModel));
        }
        public void CreateEval_ValidModel_ResultNotNull()
        {
            var testClass = InteractorFactory.Create_EvaluationInteractor();
            var testModel = EvaluationFactory.Create_EvaluationEntity_ValidMinimum();

            var result = testClass.CreateEvaluation(testModel);

            result.ShouldNotBeNull();
            result.ShouldNotBe(Guid.Empty);
        }
示例#7
0
        public void CreateNewEvaluation_NegativeScoreCount_ReturnsErrorModel()
        {
            var testClass = ServiceFactory.Create_EvaluationService();
            var testModel = EvaluationFactory.Create_CreateEvaluationDomainModel_ValidMinimum();

            testModel.NumberOfScores = -3;

            var result = testClass.CreateNewEvaluation(testModel);

            result.GetType().ShouldBe(typeof(ErrorDomainModel));
        }
        public void GetById_ValidGuid_ReturnsTestEntity()
        {
            var testRepo   = new Mocks.MockRepository <EvaluationEntity>();
            var testEntity = EvaluationFactory.Create_EvaluationEntity_ValidMinimum(Guid.NewGuid());

            testRepo.Update(testEntity);
            var testClass = InteractorFactory.Create_EvaluationInteractor(testRepo);

            var result = testClass.GetEvaluation(testEntity.Id);

            result.ShouldBe(testEntity);
        }
示例#9
0
        public void CalcWhatIfGrade_InputsOf100_Return100()
        {
            var testClass = ServiceFactory.Create_MockInteractor();
            var evals     = EvaluationFactory.Create_ListOfDomainModels();

            evals = evals.Select(e => new EvaluationDomainModel {
                Id = e.Id, CourseId = e.CourseId, Weight = 1, PointsEarned = 100, TotalPointsPossible = 100
            });

            var result = testClass.CalcWhatIfGrade(evals);

            result.WhatIfGrade.ShouldBe(100);
        }
示例#10
0
        public void CreateEval_DuplicateName_ThrowsObjectAlreadyExists()
        {
            var testRepo     = new MockRepository <EvaluationEntity>();
            var existingEval = EvaluationFactory.Create_EvaluationEntity_ValidMinimum_CustomId(Guid.NewGuid());

            testRepo.Update(existingEval);

            var testEval = EvaluationFactory.Create_EvaluationEntity_ValidMinimum();

            var testClass = InteractorFactory.Create_EvaluationInteractor(testRepo);

            Should.Throw <ObjectAlreadyExistsException>(() => testClass.CreateEvaluation(testEval));
        }
示例#11
0
        public void GetByCourseId_ValidCourseId_ReturnsTwoEvals()
        {
            var testRepo    = new MockRepository <EvaluationEntity>();
            var testGuid    = Guid.NewGuid();
            var testEvalOne = EvaluationFactory.Create_EvaluationEntity_ValidMinimum(testGuid);
            var testEvalTwo = EvaluationFactory.Create_EvaluationEntity_ValidMinimum(testGuid);

            testRepo.Create(testEvalOne);
            testRepo.Create(testEvalTwo);

            var testClass = InteractorFactory.Create_EvaluationInteractor(testRepo);

            var result = testClass.GetEvaluationsByCourseId(testGuid);

            result.Count.ShouldBe(2);
        }
示例#12
0
        public List <EvaluationEntity> GetEvaluationsByCourseId(Guid courseId)
        {
            if (courseId.Equals(Guid.Empty))
            {
                throw new BadInfoException();
            }

            var listOfEvaluations = new List <EvaluationEntity>
            {
                EvaluationFactory.Create_EvaluationEntity_ValidMinimum(courseId),
                EvaluationFactory.Create_EvaluationEntity_ValidMinimum(courseId)
            };


            return(listOfEvaluations);
        }
示例#13
0
        public void UpdateEvaluation_ValidObject_UpdatesScore()
        {
            var evalGuid           = Guid.NewGuid();
            var testList           = EvaluationFactory.Create_ListValidEvalEntities();
            var testRepo           = new MockRepository <EvaluationEntity>(testList);
            var testClass          = InteractorFactory.Create_EvaluationInteractor(testRepo);
            var evaluationToUpdate = testRepo.GetAll().First();

            var updatedEvaluation = new EvaluationEntity {
                Id = evaluationToUpdate.Id, Weight = .2, DropLowest = true, NumberOfScores = 1
            };

            testClass.UpdateEvaluation(updatedEvaluation);

            var result = testClass.GetEvaluation(evaluationToUpdate.Id);

            result.LastModified.ShouldNotBeSameAs(evaluationToUpdate.LastModified);
            result.Weight.ShouldBe(.2);
            result.DropLowest.ShouldBe(true);
            result.NumberOfScores.ShouldBe(1);
        }
示例#14
0
        public void DeleteEvaluation_ValidGuid_RemovesEvaluation()
        {
            var deleteEvalId = Guid.NewGuid();
            var remainEvalId = Guid.NewGuid();
            var courseId     = Guid.Parse("b59009e4-3f12-4eaf-a82c-bfaa6371b1a4");
            var testList     =
                new List <EvaluationEntity>
            {
                EvaluationFactory.Create_EvaluationEntity_ValidMinimum_CustomId(deleteEvalId),
                EvaluationFactory.Create_EvaluationEntity_ValidMinimum_CustomId(remainEvalId)
            };

            var testRepo  = new MockRepository <EvaluationEntity>(testList);
            var testClass = InteractorFactory.Create_EvaluationInteractor(testRepo);

            testClass.DeleteEvaluation(deleteEvalId);

            var result = testClass.GetEvaluationsByCourseId(courseId);

            result.Count.ShouldBe(1);
        }
示例#15
0
        public void DeleteEvaluation_ScoresPresent_DeletesScores()
        {
            var testEvalId      = Guid.NewGuid();
            var testEval        = EvaluationFactory.Create_EvaluationEntity_ValidMinimum_CustomId(testEvalId);
            var testDomainModel = new EvaluationDomainModel(testEval);
            var testScores      = ScoreFactory.Create_ListOfScoreEntity(testEvalId);
            var testScoreRepo   = new MockRepository <ScoreEntity>(testScores);
            var scoreInteractor = TestDatas.Scores.InteractorFactory.Create_ScoreInteractor();

            scoreInteractor.Repo = testScoreRepo;
            var mockEvalInteractor = TestDatas.Evaluations.InteractorFactory.Create_MockEvaluationInteractor();
            var testClass          = ServiceFactory.Create_EvaluationService();

            testClass.EvaluationInteractor = mockEvalInteractor;
            testClass.ScoreInteractor      = scoreInteractor;

            var result       = testClass.DeleteEvaluation(testEvalId);
            var resultScores = testClass.ScoreInteractor.GetScoresByEvaluationId(testEvalId);

            result.GetType().ShouldNotBe(typeof(ErrorDomainModel));
            resultScores.Count.ShouldBe(0);
        }
示例#16
0
        public void CalcWhatIfGrade_WeightedInputsOf100_Return100()
        {
            var testClass = ServiceFactory.Create_MockInteractor();
            var evals     = EvaluationFactory.Create_ListOfDomainModels().ToList();

            evals[0].TotalPointsPossible = 25;
            evals[0].PointsEarned        = 25;
            evals[0].Weight = .5;
            evals[1].TotalPointsPossible = 25;
            evals[1].PointsEarned        = 25;
            evals[1].Weight = .15;
            evals[2].TotalPointsPossible = 25;
            evals[2].PointsEarned        = 25;
            evals[2].Weight = .15;
            evals[3].TotalPointsPossible = 25;
            evals[3].PointsEarned        = 25;
            evals[3].Weight = .20;

            var result = testClass.CalcWhatIfGrade(evals);

            result.WhatIfGrade.ShouldBe(100);
        }