public void GetTargetById_ShouldThrow()
        {
            //Arrange
            var expectedId       = 0;
            var expectedHunterId = 1;
            var expectedPreyId   = 2;
            var expectedBoolean  = false;

            var fakeIQueryable = new List <TargetElement>()
            {
                new TargetElement()
                {
                    Id             = expectedId,
                    HunterPersonId = expectedHunterId,
                    PreyPersonId   = expectedPreyId,
                    IsHunted       = expectedBoolean
                }
            }.AsQueryable();

            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeIQueryable);

            var fakeDbContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.TargetElements).Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var targetElementHelper = new TargetElementHelper(fakeDbContextGeneration);

            //Act and assert
            Assert.Throws <ManagerException>(() => targetElementHelper.GetTargetByUserId(500),
                                             StorageErrorMessages.TargetNotPresentAtLaunchError);
        }
        public void IsPreyHunter_GoodPreyWrongHunter_ShouldThrow()
        {
            //Arrange
            var fakeTargetsList = new List <TargetElement>()
            {
                new TargetElement
                {
                    Id             = 1,
                    HunterPersonId = 56,
                    PreyPersonId   = 57,
                    IsHunted       = true
                }
            };

            var fakeDbSetTargetElements = UnitTestsUtil.SetupFakeDbSet(fakeTargetsList.AsQueryable());
            var fakeDatabaseContext     = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDatabaseContext.TargetElements).Returns(fakeDbSetTargetElements);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext())
            .Returns(fakeDatabaseContext);

            var targetElementHelper = new TargetElementHelper(fakeDbContextGeneration);

            var expectedHunterPersonId = 71;
            var expectedPreyPersonId   = 57;

            //Act and assert
            Assert.Throws <ManagerException>(() =>
                                             targetElementHelper.IsPreyHunted(expectedHunterPersonId, expectedPreyPersonId), StorageErrorMessages.TargetNotFoundError);

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
        }
        public void AssignRandomTarget_ShouldThrow_TargetAlreadyAssigned()
        {
            //Arrange
            var targetsList = new List <TargetElement>()
            {
                new TargetElement()
                {
                    Id             = 1,
                    HunterPersonId = 2,
                    PreyPersonId   = 3,
                    IsHunted       = false
                }
            }.AsQueryable();

            var fakeTargetsDbSet = UnitTestsUtil.SetupFakeDbSet(targetsList);

            var fakeDatabaseContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDatabaseContext.TargetElements).Returns(fakeTargetsDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext())
            .Returns(fakeDatabaseContext);

            var databaseElementHelper = A.Fake <IDatabaseImageElementHelper>();

            var targetElementHelper = new TargetElementHelper(fakeDbContextGeneration, databaseElementHelper);

            //Act and assert
            Assert.Throws <ManagerException>(() => targetElementHelper.AssignRandomTarget(2),
                                             StorageErrorMessages.TargetAlreadyAssignedError);

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
        }
Esempio n. 4
0
        public void UpdateHistoryModel_ShouldThrow()
        {
            var historyElement = new HistoryModel()
            {
                Id       = 1,
                UserId   = 10,
                TargetId = 11,
                Status   = StatusConstants.TargetNotHuntedHistory
            };

            var fakeHistoryList = new List <HistoryModel>()
            {
                historyElement
            }.AsQueryable();

            var fakeDbSetHistoryElements = UnitTestsUtil.SetupFakeDbSet(fakeHistoryList.AsQueryable());
            var fakeDbContext            = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.History).Returns(fakeDbSetHistoryElements);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var historyModelHelper = new HistoryModelHelper(fakeDbContextGeneration);

            //Act and assert
            Assert.Throws <ManagerException>(() => historyModelHelper.UpdateHistoryModel(500, 300),
                                             StorageErrorMessages.UserDoesNotExistError);
        }
Esempio n. 5
0
        public void GetUserById_WhenIdDoesNotExists_ShouldThrow()
        {
            //Arrange
            var fakeIQueryable = new List <DatabaseImageElement>()
            {
                new DatabaseImageElement
                {
                    Id = 0,
                    DescriptiveSentence = "t",
                    ImageContentUri     = "t",
                    ImageName           = "t",
                    PersonFirstName     = "t",
                    PersonLastName      = "t",
                    Score = 0
                }
            }.AsQueryable();

            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeIQueryable);

            var fakeDbContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.DatabaseImageElements).Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var databaseImageElementHelper = new DatabaseImageElementHelper(fakeDbContextGeneration);

            //Act and assert
            Assert.Throws <ManagerException>(() => databaseImageElementHelper.GetUserById(9), StorageErrorMessages.UserDoesNotExistError);

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappenedOnceExactly();
        }
Esempio n. 6
0
        public void GetHistoryByUserId_ShouldThrow()
        {
            //Arrange
            var expectedUserId   = 1;
            var expectedTargetId = 2;
            var expectedStatus   = StatusConstants.TargetHuntedHistory;

            var fakeHistoryList = new List <HistoryModel>()
            {
                new HistoryModel()
                {
                    UserId   = expectedUserId,
                    TargetId = expectedTargetId,
                    Status   = expectedStatus
                }
            }.AsQueryable();

            var fakeDbSetHistoryElements = UnitTestsUtil.SetupFakeDbSet(fakeHistoryList.AsQueryable());
            var fakeDbContext            = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.History).Returns(fakeDbSetHistoryElements);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var historyModelHelper = new HistoryModelHelper(fakeDbContextGeneration);

            //Act and assert
            Assert.Throws <ManagerException>(() => historyModelHelper.GetHistoryByUserId(500),
                                             StorageErrorMessages.HistoryElementNotFoundError);
        }
        public void AssignRandomTarget_ShouldReturnAssignedId()
        {
            //Arrange
            var expectedPreyId   = 2;
            var expectedHunterId = 10;

            var dbElementsList = new List <DatabaseImageElement>()
            {
                new DatabaseImageElement()
                {
                    Id = expectedPreyId,
                    DescriptiveSentence = "test",
                    ImageContentUri     = "test",
                    ImageName           = "test",
                    PersonFirstName     = "test",
                    PersonLastName      = "test",
                    Score = 1
                },

                new DatabaseImageElement()
                {
                    Id = expectedPreyId,
                    DescriptiveSentence = "test",
                    ImageContentUri     = "test",
                    ImageName           = "test",
                    PersonFirstName     = "test",
                    PersonLastName      = "test",
                    Score = 1
                }
            };

            var fakeDbSetImageElements  = UnitTestsUtil.SetupFakeDbSet(dbElementsList.AsQueryable());
            var fakeDbSetTargetElements = UnitTestsUtil.SetupFakeDbSet(new List <TargetElement>().AsQueryable());

            var fakeDatabaseContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDatabaseContext.DatabaseImageElements).Returns(fakeDbSetImageElements);
            A.CallTo(() => fakeDatabaseContext.TargetElements).Returns(fakeDbSetTargetElements);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext())
            .Returns(fakeDatabaseContext);

            var databaseElementHelper = A.Fake <IDatabaseImageElementHelper>();
            var targetElementHelper   = new TargetElementHelper(fakeDbContextGeneration, databaseElementHelper);

            A.CallTo(() => databaseElementHelper.GetAllImages()).Returns(dbElementsList);

            //Act
            var result = targetElementHelper.AssignRandomTarget(expectedHunterId);

            //Assert
            result.ShouldBe(expectedPreyId);

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
        }
Esempio n. 8
0
        public void GetUserById_WhenIdExists_ShouldReturn()
        {
            //Arrange
            var expectedId = 0;
            var expectedDescriptiveSentence = "t";
            var expectedImageContentUri     = "t";
            var expectedImageName           = "t";
            var expectedPersonFirstName     = "t";
            var expectedPersonLastName      = "t";
            var expectedScore = 0;

            var fakeIQueryable = new List <DatabaseImageElement>()
            {
                new DatabaseImageElement
                {
                    Id = expectedId,
                    DescriptiveSentence = expectedDescriptiveSentence,
                    ImageContentUri     = expectedImageContentUri,
                    ImageName           = expectedImageName,
                    PersonFirstName     = expectedPersonFirstName,
                    PersonLastName      = expectedPersonLastName,
                    Score = expectedScore
                }
            }.AsQueryable();

            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeIQueryable);

            var fakeDbContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.DatabaseImageElements).Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var databaseImageElementHelper = new DatabaseImageElementHelper(fakeDbContextGeneration);

            //Act
            var result = databaseImageElementHelper.GetUserById(expectedId);

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappenedOnceExactly();

            result.Id.ShouldBe(expectedId);
            result.DescriptiveSentence.ShouldBe(expectedDescriptiveSentence);
            result.ImageContentUri.ShouldBe(expectedImageContentUri);
            result.ImageName.ShouldBe(expectedImageName);
            result.PersonFirstName.ShouldBe(expectedPersonFirstName);
            result.PersonLastName.ShouldBe(expectedPersonLastName);
            result.Score.ShouldBe(expectedScore);
        }
Esempio n. 9
0
        public void GetAllImages_ShouldReturn()
        {
            //Arrange
            var fakeDatabaseImageElementList = new List <DatabaseImageElement>()
            {
                new DatabaseImageElement
                {
                    Id                  = 1,
                    ImageName           = "firstTestName",
                    ImageContentUri     = "https://whoisthatserverimages.blob.core.windows.net/images/Domantas_test.jpg",
                    PersonFirstName     = "firstTestPersonName",
                    PersonLastName      = "firstTestPersonLastName",
                    DescriptiveSentence = "t1",
                    Score               = 1
                },

                new DatabaseImageElement
                {
                    Id                  = 2,
                    ImageName           = "secondTestName",
                    ImageContentUri     = "https://whoisthatserverimages.blob.core.windows.net/images/Domantas_test.jpg",
                    PersonFirstName     = "secondTestPersonName",
                    PersonLastName      = "secondTestPersonLastName",
                    DescriptiveSentence = "t2",
                    Score               = 1
                }
            };

            var fakeDbSetImageElementObjects = UnitTestsUtil.SetupFakeDbSet(fakeDatabaseImageElementList.AsQueryable());
            var fakeDatabaseContext          = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDatabaseContext.DatabaseImageElements)
            .Returns(fakeDbSetImageElementObjects);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext())
            .Returns(fakeDatabaseContext);

            var databaseImageElementHelper = new DatabaseImageElementHelper(fakeDbContextGeneration);

            //Act
            var result = databaseImageElementHelper.GetAllImages();

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
            result.ShouldBe(fakeDatabaseImageElementList);
        }
Esempio n. 10
0
        public void InsertNewImageElement_ShouldReturnNull_SameUri()
        {
            //Arrange
            var fakeDatabaseImageElementList = new List <DatabaseImageElement>()
            {
                new DatabaseImageElement()
                {
                    Id                  = 1,
                    ImageName           = "testImageName",
                    ImageContentUri     = "https://whoisthatserverimages.blob.core.windows.net/images/Domantas_test.jpg",
                    PersonFirstName     = "testFirstPersonName",
                    PersonLastName      = "testFirstPersonLastName",
                    DescriptiveSentence = "t1",
                    Score               = 1
                }
            };

            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeDatabaseImageElementList.AsQueryable());

            var fakeDatabaseContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDatabaseContext.DatabaseImageElements)
            .Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext())
            .Returns(fakeDatabaseContext);

            var databaseImageElementHelper = new DatabaseImageElementHelper(fakeDbContextGeneration);

            //Act
            var expectedId                  = 1;
            var expectedImageName           = "testImageName";
            var expectedImageContentUri     = "https://whoisthatserverimages.blob.core.windows.net/images/Domantas_test.jpg";
            var expectedPersonFirstName     = "testPersonFirstName";
            var expectedPersonLastName      = "testPersonLastName";
            var expectedDescriptiveSentence = "t1";
            var exptectedScore              = 1;

            var result = databaseImageElementHelper.InsertNewImageElement(expectedId, expectedImageName,
                                                                          expectedImageContentUri, expectedPersonFirstName, expectedPersonLastName, expectedDescriptiveSentence, exptectedScore);

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
            result.ShouldBe(null);
        }
        public void InsertNewTargetElement_ShouldReturn()
        {
            //Arrange
            var fakeTargetsList = new List <TargetElement>()
            {
                new TargetElement
                {
                    Id             = 1,
                    HunterPersonId = 56,
                    PreyPersonId   = 57,
                    IsHunted       = true
                }
            };

            var fakeDbSetTargetElements = UnitTestsUtil.SetupFakeDbSet(fakeTargetsList.AsQueryable());
            var fakeDatabaseContext     = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDatabaseContext.TargetElements).Returns(fakeDbSetTargetElements);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext())
            .Returns(fakeDatabaseContext);

            var targetElementHelper = new TargetElementHelper(fakeDbContextGeneration);

            //Act
            var expectedId             = 2;
            var expectedHunterPersonId = 10;
            var expectedPreyPersonId   = 11;
            var expectedIsHunter       = false;

            var result =
                targetElementHelper.InsertNewTargetElement(expectedId, expectedHunterPersonId, expectedPreyPersonId);

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
            A.CallTo(() => fakeDbSetTargetElements.Add(result)).MustHaveHappenedOnceExactly();
            A.CallTo(() => fakeDatabaseContext.SaveChanges()).MustHaveHappenedOnceExactly();

            result.Id.ShouldBe(expectedId);
            result.HunterPersonId.ShouldBe(expectedHunterPersonId);
            result.PreyPersonId.ShouldBe(expectedPreyPersonId);
            result.IsHunted.ShouldBe(expectedIsHunter);
        }
Esempio n. 12
0
        public void UpdateHistoryModel_ShouldReturnExpected()
        {
            //Arrange
            var expectedUserId   = 1;
            var expectedTargetId = 2;
            var expectedStatus   = StatusConstants.TargetHuntedHistory;

            var expectedElement = new HistoryModel()
            {
                Id       = 1,
                UserId   = expectedUserId,
                TargetId = expectedTargetId,
                Status   = StatusConstants.TargetNotHuntedHistory
            };

            var fakeHistoryList = new List <HistoryModel>()
            {
                expectedElement
            }.AsQueryable();

            var fakeDbSetHistoryElements = UnitTestsUtil.SetupFakeDbSet(fakeHistoryList.AsQueryable());
            var fakeDbContext            = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.History).Returns(fakeDbSetHistoryElements);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var historyModelHelper = new HistoryModelHelper(fakeDbContextGeneration);

            //Act
            var result = historyModelHelper.UpdateHistoryModel(expectedUserId, expectedTargetId);

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
            A.CallTo(() => fakeDbContext.SaveChanges()).MustHaveHappened();

            result.Id.ShouldBe(1);
            result.UserId.ShouldBe(expectedUserId);
            result.TargetId.ShouldBe(expectedTargetId);
            result.Status.ShouldBe(expectedStatus);
        }
        public void GetTargetById_ShouldReturnExcepted()
        {
            //Arrange
            var expectedId       = 0;
            var expectedHunterId = 1;
            var expectedPreyId   = 2;
            var expectedBoolean  = false;

            var fakeIQueryable = new List <TargetElement>()
            {
                new TargetElement()
                {
                    Id             = expectedId,
                    HunterPersonId = expectedHunterId,
                    PreyPersonId   = expectedPreyId,
                    IsHunted       = expectedBoolean
                }
            }.AsQueryable();

            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeIQueryable);

            var fakeDbContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.TargetElements).Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var targetElementHelper = new TargetElementHelper(fakeDbContextGeneration);

            //Act
            var result = targetElementHelper.GetTargetByUserId(expectedHunterId);

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappenedOnceExactly();

            result.Id.ShouldBe(expectedId);
            result.HunterPersonId.ShouldBe(expectedHunterId);
            result.PreyPersonId.ShouldBe(expectedPreyId);
            result.IsHunted.ShouldBe(expectedBoolean);
        }
        public void AssignRandomTarget_ShouldThrow_NoPlayers()
        {
            //Arrange
            var dbElementsList = new List <DatabaseImageElement>()
            {
                new DatabaseImageElement()
                {
                    Id = 1,
                    DescriptiveSentence = "test",
                    ImageContentUri     = "test",
                    ImageName           = "test",
                    PersonFirstName     = "test",
                    PersonLastName      = "test",
                    Score = 1
                }
            };

            var fakeDbSetImageElements  = UnitTestsUtil.SetupFakeDbSet(dbElementsList.AsQueryable());
            var fakeDbSetTargetElements = UnitTestsUtil.SetupFakeDbSet(new List <TargetElement>().AsQueryable());

            var fakeDatabaseContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDatabaseContext.DatabaseImageElements).Returns(fakeDbSetImageElements);
            A.CallTo(() => fakeDatabaseContext.TargetElements).Returns(fakeDbSetTargetElements);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext())
            .Returns(fakeDatabaseContext);

            var databaseElementHelper = A.Fake <IDatabaseImageElementHelper>();

            A.CallTo(() => databaseElementHelper.GetAllImages()).Returns(fakeDbSetImageElements);

            var targetElementHelper = new TargetElementHelper(fakeDbContextGeneration, databaseElementHelper);

            //Act and assert
            Assert.Throws <ManagerException>(() => targetElementHelper.AssignRandomTarget(10),
                                             StorageErrorMessages.ThereAreNoPlayersError);

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
        }
Esempio n. 15
0
        public void GetFaceFeaturesByPersonId_WhenIdExists_ShouldReturn()
        {
            //Arrange
            var expectedId       = 0;
            var expectedPersonId = 1;
            var expectedAge      = 20;
            var expectedGender   = "male";

            var fakeIQueryable = new List <FaceFeaturesModel>()
            {
                new FaceFeaturesModel()
                {
                    Id       = expectedId,
                    PersonId = expectedPersonId,
                    Age      = expectedAge,
                    Gender   = expectedGender
                }
            }.AsQueryable();

            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeIQueryable);

            var fakeDbContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.FaceFeatures).Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var faceFeaturesHelper = new FaceFeaturesHelper(fakeDbContextGeneration);

            //Act
            var result = faceFeaturesHelper.GetFaceFeaturesByPersonId(expectedPersonId);

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappenedOnceExactly();

            result.Id.ShouldBe(expectedId);
            result.Age.ShouldBe(expectedAge);
            result.Gender.ShouldBe(expectedGender);
            result.PersonId.ShouldBe(expectedPersonId);
        }
Esempio n. 16
0
        public void InsertNewFeaturesModel_ShouldReturn()
        {
            //Arrange
            var fakeFeaturesList = new List <FaceFeaturesModel>()
            {
                new FaceFeaturesModel()
                {
                    Id       = 1,
                    Age      = 30,
                    Gender   = "male",
                    PersonId = 5
                }
            };
            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeFeaturesList.AsQueryable());

            var fakeDbContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.FaceFeatures).Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var faceFeaturesHelper = new FaceFeaturesHelper(fakeDbContextGeneration);

            var expectedPersonId = 1;
            var expectedAge      = 20;
            var expectedGender   = "male";

            //Act
            var result = faceFeaturesHelper.InsertNewFeaturesModel(expectedPersonId, expectedAge, expectedGender);

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
            A.CallTo(() => fakeDbSet.Add(result)).MustHaveHappenedOnceExactly();
            A.CallTo(() => fakeDbContext.SaveChanges()).MustHaveHappenedOnceExactly();

            result.PersonId.ShouldBe(expectedPersonId);
            result.Age.ShouldBe(expectedAge);
            result.Gender.ShouldBe(expectedGender);
        }
        public void IsPreyHunted_ShouldReturnTrue()
        {
            var elementToRemove = new TargetElement()
            {
                Id             = 1,
                HunterPersonId = 100,
                PreyPersonId   = 101,
                IsHunted       = false
            };
            //Arrange
            var fakeTargetsList = new List <TargetElement>()
            {
                elementToRemove
            };

            var fakeDbSetTargetElements = UnitTestsUtil.SetupFakeDbSet(fakeTargetsList.AsQueryable());
            var fakeDatabaseContext     = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDatabaseContext.TargetElements).Returns(fakeDbSetTargetElements);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext())
            .Returns(fakeDatabaseContext);

            var targetElementHelper = new TargetElementHelper(fakeDbContextGeneration);

            var expectedHunterPersonId = 100;
            var expectedPreyPersonId   = 101;

            //Act
            var result = targetElementHelper.IsPreyHunted(expectedHunterPersonId, expectedPreyPersonId);

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappened();
            A.CallTo(() => fakeDbSetTargetElements.Remove(elementToRemove)).MustHaveHappenedOnceExactly();
            A.CallTo(() => fakeDatabaseContext.SaveChanges()).MustHaveHappenedOnceExactly();

            result.ShouldBe(true);
        }
Esempio n. 18
0
        public void UpdateScore_WhenIdExists_ShouldUpdate()
        {
            //Arrange
            var fakeIQueryable = new List <DatabaseImageElement>()
            {
                new DatabaseImageElement
                {
                    Id = 0,
                    DescriptiveSentence = "t",
                    ImageContentUri     = "t",
                    ImageName           = "t",
                    PersonFirstName     = "t",
                    PersonLastName      = "t",
                    Score = 0
                }
            }.AsQueryable();

            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeIQueryable);

            var fakeDbContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.DatabaseImageElements).Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var databaseImageElementHelper = new DatabaseImageElementHelper(fakeDbContextGeneration);

            //Act
            var expectedResult = 1;
            var result         = databaseImageElementHelper.UpdateScore(fakeIQueryable.ElementAt(0).Id);

            //Assert
            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappenedOnceExactly();

            A.CallTo(() => fakeDbContext.SaveChanges()).MustHaveHappenedOnceExactly();

            result.Score.ShouldBe(expectedResult);
        }
Esempio n. 19
0
        public void GetFaceFeaturesByPersonId_WhenIdDoesNotExists_ShouldThrow()
        {
            //Arrange
            var expectedId       = 0;
            var expectedPersonId = 1;
            var expectedAge      = 20;
            var expectedGender   = "male";

            var fakeIQueryable = new List <FaceFeaturesModel>()
            {
                new FaceFeaturesModel()
                {
                    Id       = expectedId,
                    PersonId = expectedPersonId,
                    Age      = expectedAge,
                    Gender   = expectedGender
                }
            }.AsQueryable();

            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeIQueryable);

            var fakeDbContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDbContext.FaceFeatures).Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).Returns(fakeDbContext);

            var faceFeaturesHelper = new FaceFeaturesHelper(fakeDbContextGeneration);

            //Act and assert
            Assert.Throws <ManagerException>(() => faceFeaturesHelper.GetFaceFeaturesByPersonId(100),
                                             StorageErrorMessages.UserDoesNotExistError);

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustHaveHappenedOnceExactly();
        }
Esempio n. 20
0
        public void InsertNewImageElement_ShouldThrow_BadUri()
        {
            //Arrange
            var fakeDatabaseImageElementList = new List <DatabaseImageElement>()
            {
                new DatabaseImageElement()
                {
                    Id                  = 1,
                    ImageName           = "testImageName",
                    ImageContentUri     = "https://whoisthatserverimages.blob.core.windows.net/images/Domantas_test.jpg",
                    PersonFirstName     = "testFirstPersonName",
                    PersonLastName      = "testFirstPersonLastName",
                    DescriptiveSentence = "t1",
                    Score               = 1
                }
            };

            var fakeDbSet = UnitTestsUtil.SetupFakeDbSet(fakeDatabaseImageElementList.AsQueryable());

            var fakeDatabaseContext = A.Fake <DatabaseContext>();

            A.CallTo(() => fakeDatabaseContext.DatabaseImageElements)
            .Returns(fakeDbSet);

            var fakeDbContextGeneration = A.Fake <IDatabaseContextGeneration>();

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext())
            .Returns(fakeDatabaseContext);

            var databaseImageElementHelper = new DatabaseImageElementHelper(fakeDbContextGeneration);

            //Act and assert
            Assert.Throws <ManagerException>(() =>
                                             databaseImageElementHelper.InsertNewImageElement(1, "test", "invalidURI", "test", "test", "t1", 1), StorageErrorMessages.InvalidImageUriError);

            A.CallTo(() => fakeDbContextGeneration.BuildDatabaseContext()).MustNotHaveHappened();
        }