Exemplo n.º 1
0
        public void MineVisualRecreation_Mine_GenerateBoxOfficeValues()
        {
            var test  = new MineVisualRecreation();
            var fmlBO = new MineFantasyMovieLeagueBoxOffice();

            var actual = test.Mine();
            var fml    = fmlBO.Mine();

            Assert.IsNotNull(actual);
            Assert.IsTrue(actual.Any(), "The list was empty.");

            var toRemove = new List <IMovie>();

            foreach (var movie in actual)
            {
                var fmlMovie = fml.FirstOrDefault(item => item.Equals(movie) || item.MovieName.EndsWith(movie.MovieName));

                if (fmlMovie == null)
                {
                    // Remove FML movies that are not found (uses Equals() - fuzzy logic)

                    toRemove.Add(movie);
                }
                else
                {
                    movie.MovieName = fmlMovie.MovieName;
                }
            }

            toRemove.ForEach(item => actual.Remove(item));

            var weekendEnding = MovieDateUtil.GameSunday();
            var tab           = "\t";

            Logger.WriteLine($"{tab}{tab}{tab}var weekend = new DateTime({weekendEnding.Year}, {weekendEnding.Month}, {weekendEnding.Day});");
            Logger.WriteLine($"{tab}{tab}{tab}UrlSource = \"{test.UrlSource}\";");
            Logger.WriteLine($"{tab}{tab}{tab}return new List<IMovie>");
            Logger.WriteLine($"{tab}{tab}{tab}{tab}{tab}{tab}{{");

            foreach (var movie in actual.OrderByDescending(item => item.Cost))
            {
                var dayOfWeek = movie.Day.HasValue ? $", Day = DayOfWeek.{movie.Day.ToString()}" : string.Empty;

                Logger.WriteLine($"{tab}{tab}{tab}{tab}{tab}{tab}{tab}{tab}new Movie {{ MovieName = \"{movie.MovieName}\", Earnings = {movie.Earnings}m, WeekendEnding = weekend{dayOfWeek} }},");
            }
            Logger.WriteLine($"{tab}{tab}{tab}{tab}{tab}{tab}}};");
        }
Exemplo n.º 2
0
        public void MineVisualRecreation_Mine()
        {
            var test  = new MineVisualRecreation();
            var fmlBO = new MineFantasyMovieLeagueBoxOffice();

            var actual = test.Mine();
            var fml    = fmlBO.Mine();

            Assert.IsNotNull(actual);
            Assert.IsTrue(actual.Any(), "The list was empty.");

            Logger.WriteLine("\n==== Visual Recreation ====\n");
            WriteMovies(actual.OrderByDescending(item => item.Earnings));

            var toRemove = new List <IMovie>();

            foreach (var movie in actual)
            {
                var fmlMovie = fml.FirstOrDefault(item => item.Equals(movie) || item.MovieName.EndsWith(movie.MovieName));

                if (fmlMovie == null)
                {
                    // Remove FML movies that are not found (uses Equals() - fuzzy logic)

                    toRemove.Add(movie);
                }
                else
                {
                    movie.MovieName = fmlMovie.MovieName;
                }
            }

            Logger.WriteLine("\n==== NOT FOUND ====\n");
            WriteMovies(toRemove.OrderByDescending(item => item.Earnings));

            toRemove.ForEach(item => actual.Remove(item));

            Logger.WriteLine("\n==== FML Matches ====\n");
            WriteMovies(actual.OrderByDescending(item => item.Earnings));
        }