#I DONT UNDERSTAND Library Tets

7 messages · Page 1 of 1 (latest)

bleak root
#

ive got a code in c# and i dont know why it doesnt work

#
        public static void RemoveMovie(string[,] allMovies, int movieID)
        {
            int rows = allMovies.GetLength(0);
            int cols = allMovies.GetLength(1);
            int nbMovie = Program.GetNbMovies(allMovies);

            for(int i = 0; i > nbMovie ; i--)
            {
                for (int j = 0; j < cols; i++)
                {
                    /*if (i == nbMovie)
                        
                    else*/
                    //allMovies[i,j] = allMovies[i,j+1];
                    allMovies[i, j] = "";
                }
            }
        }
#
        [TestMethod()]
        public void CanRemoveLastMovieIntoNonEmptyList()
        {
            const int DEFAULT_NB_MOVIES = 12;
            const int LAST_MOVIE_ID = DEFAULT_NB_MOVIES - 1;
            string[,] allMovies = CreateMovieList(DEFAULT_NB_MOVIES);
            string ANY_TITLE = allMovies[LAST_MOVIE_ID + 1, COLUMN_TITLE];
            string ANY_YEAR = allMovies[LAST_MOVIE_ID + 1, COLUMN_YEAR];
            string ANY_CATEGORY = allMovies[LAST_MOVIE_ID + 1, COLUMN_CATEGORY];
            string ANY_RATING = allMovies[LAST_MOVIE_ID + 1, COLUMN_RATING];

            Library.RemoveMovie(allMovies, LAST_MOVIE_ID);

            Assert.AreEqual(DEFAULT_NB_MOVIES - 1, Program.GetNbMovies(allMovies));
            Assert.AreEqual(ANY_TITLE, allMovies[LAST_MOVIE_ID, COLUMN_TITLE]);
            Assert.AreEqual(ANY_YEAR, allMovies[LAST_MOVIE_ID, COLUMN_YEAR]);
            Assert.AreEqual(ANY_CATEGORY, allMovies[LAST_MOVIE_ID, COLUMN_CATEGORY]);
            Assert.AreEqual(ANY_RATING, allMovies[LAST_MOVIE_ID, COLUMN_RATING]);
        }
#

the first one is the program and the second one is the test

#

i know that the program doesnt work with the test right now but some parts should change at least

#

for example i put allMovies[i, j] = ""; on purpose so that when in the test it calls Assert.AreEqual(DEFAULT_NB_MOVIES - 1, Program.GetNbMovies(allMovies)); the error should say expected 11, actual 0

#

but it still says expected 11, actual 12