Exemple #1
0
        /// <summary>
        /// writes/updates/saves the users score to the database
        /// </summary>
        public void SaveScoreToDatabase()
        {
            IUserAdministration admin = new UserAdministration();

            for (int i = 0; i < database.RetrieveNumberOfRowsInTable(); i++)
            {
                string   tableRow = database.RetrieveTableRow(database.TableName, i);
                string[] split    = tableRow.Split(separator: '\n');

                if (user.UserName.Equals(split[0]))
                {
                    admin.DeleteUser(i);
                    admin.AddUser(user.UserName, user.Email, user.Password, user.Password, user.Score);
                }
            }
        }
        public void MethodForDeletingAUserShouldFirstRetrieveARowFromDatabaseThenAccessOnlyTheUserColumnStringInOrderToEnterItAsTheArgumentForMethodDeleteRowFromTable()
        {
            // Arrange
            string            query        = null;
            Mock <IUserTable> mockDatabase = new Mock <IUserTable>();

            mockDatabase.Setup(r => r.TableName).Returns("Table Name");
            mockDatabase.Setup(r => r.RetrieveTableRow("Table Name", 1)).Returns("Huey \n [email protected]\nred\n35");
            mockDatabase.Setup(r => r.DeleteRowFromTable(It.IsAny <string>())).Callback <string>((s1) =>
            {
                query = s1;
            });
            IUserAdministration sut = new UserAdministration(user, mockDatabase.Object);

            // Act
            sut.DeleteUser(1);

            //Assert
            Assert.AreEqual("Huey ", query);
        }