public void Verify_BinaryTreeGrossCnt(MovieBinaryTreeRepo.BinaryTreeType type)
        {
            MovieBinaryTreeRepo mr = new MovieBinaryTreeRepo(type);
            mr.Init(MockMovieList, FirstField.Genre);

            Assert.NotNull(mr.MoneyGrossBinaryTree);
            Assert.Equal(2, mr.FindMoviesInGrossReceiptRange(1000, 1999));
        }
        public void Verify_BinaryTreeDictionary_YearFirstLoad(MovieBinaryTreeRepo.BinaryTreeType type)
        {
            MovieBinaryTreeRepo mr = new MovieBinaryTreeRepo(type);
            mr.Init(MockMovieList, FirstField.Year);

            Assert.NotNull(mr.BinaryTreeByYearByGenre);
            Assert.Null(mr.BinaryTreeByGenreByYear);
            Assert.Equal(3, mr.FindMovies(2015, 2016, "Drama:Western"));
        }
Exemplo n.º 3
0
        public static IMovieRepo Repo(Type rt)
        {
            IMovieRepo returnRepo;

            switch (rt)
            {
            case Type.Dictionary:
                returnRepo = new MovieDictionaryRepo();
                break;

            case Type.SortedDictionary:
                returnRepo = new MovieSortedDictionaryRepo();
                break;

            case Type.SearchTree:
                returnRepo = new MovieC5SearchTreeRepo();
                break;

            case Type.Lookup:
                returnRepo = new MovieLookupRepo();
                break;

            case Type.BinarySearchTree:
                returnRepo = new MovieBinaryTreeRepo(MovieBinaryTreeRepo.BinaryTreeType.BinaryTree);
                break;

            case Type.RedBlackBinaryTree:
                returnRepo = new MovieBinaryTreeRepo(MovieBinaryTreeRepo.BinaryTreeType.RedBlackBinaryTree);
                break;

            case Type.BTree:
                returnRepo = new MovieBTreeRepo();
                break;

            case Type.LinqList:
                returnRepo = new MovieListLinqRepo();
                break;

            case Type.LinqParList:
                returnRepo = new MovieListLinqParallel();
                break;

            default:
                throw new Exception("RepoType: " + rt.ToString() + "Not Implemented");
            }

            return(returnRepo);
        }