public void ParseRankingTest1() 
        {
            string temp_directory_path = TestUtility.TestData[TestUtility.KEY_TEMP_DIRECTORY];

            TestUtility.EnsureLogin(network_);

            DirectoryInfo temp_directory = new DirectoryInfo(temp_directory_path);

            Assert.That(TestUtility.InitDirectory(temp_directory), Is.True, "ParseRankingTest1-1");

            DownloadKind kind = new DownloadKind();
            kind.SetDuration(false, false, true, false, false);
            CategoryItem categoryItem = new CategoryItem();
            categoryItem.id = "music";
            categoryItem.short_name = "mus";
            categoryItem.name = "音楽";
            categoryItem.page = new int[] { 3, 1, 1, 1, 0 };
            List<CategoryItem> categoryList = new List<CategoryItem>();
            categoryList.Add(categoryItem);
            kind.CategoryList = categoryList;
            kind.SetTarget(true, true, true);
            kind.SetFormat(DownloadKind.FormatKind.Html);

            NicoNetwork.NetworkWaitDelegate onWait = delegate(string message, int current, int total)
            {
                TestUtility.Message("({0}/{1}){2}", current, total, message);
                TestUtility.Wait();
            };

            TestUtility.Message("Running ParseRankingTest1.");
            network_.DownloadRanking(temp_directory.FullName, kind, onWait);

            NicoListManager.ParseRankingKind parse_ranking_kind;
            List<Video> video_list;

            try
            {
                parse_ranking_kind = NicoListManager.ParseRankingKind.TotalPoint;
                video_list = NicoListManager.ParseRanking(temp_directory.FullName, DateTime.Now, parse_ranking_kind);
                Assert.Fail("ParseRankingTest1-2");
            }
            catch (InvalidOperationException e)
            {
                TestUtility.Message(e.Message);
            }

            parse_ranking_kind = NicoListManager.ParseRankingKind.TermPoint;
            video_list = NicoListManager.ParseRanking(temp_directory.FullName, DateTime.Now, parse_ranking_kind);
            Assert.That(video_list.Count, Is.GreaterThan(0), "ParseRankingTest1-3");
        }
Exemple #2
0
        public void DownloadRankingTest()
        {
            string temp_directory_path = TestUtility.TestData[TestUtility.KEY_TEMP_DIRECTORY];

            TestUtility.EnsureLogin(network_);

            DirectoryInfo temp_directory = new DirectoryInfo(temp_directory_path);

            Assert.That(TestUtility.InitDirectory(temp_directory), Is.True, "DownloadRankingTest1");

            DownloadKind kind         = new DownloadKind();
            CategoryItem categoryItem = new CategoryItem();

            categoryItem.id         = "music";
            categoryItem.short_name = "mus";
            categoryItem.name       = "音楽";
            categoryItem.page       = new int[] { 3, 1, 1, 1, 0 };
            List <CategoryItem> categoryList = new List <CategoryItem>();

            categoryList.Add(categoryItem);
            kind.CategoryList = categoryList;
            kind.SetTarget(true, true, true);
            kind.SetDuration(false, false, true, false, false);
            kind.SetFormat(DownloadKind.FormatKind.Rss);

            NicoNetwork.NetworkWaitDelegate onWait = delegate(string message, int current, int total)
            {
                TestUtility.Message("({0}/{1}){2}", current, total, message);
                TestUtility.Wait();
            };

            TestUtility.Message("Running DownloadRankingTest2.");
            network_.DownloadRanking(temp_directory.FullName, kind, onWait);

            List <string> name_list     = null;
            List <string> filename_list = new List <string>();

            kind.GetRankingNameList(ref name_list, ref filename_list);
            string[] downloaded_files = Directory.GetFiles(temp_directory.FullName, "*", SearchOption.AllDirectories);
            int      i = 0;

            foreach (string filename in filename_list)
            {
                i++;
                bool result = Array.Exists <string>(downloaded_files, delegate(string downloaded_file)
                {
                    return(Path.GetFileName(downloaded_file).StartsWith(filename));
                });
                Assert.That(result, Is.True, string.Format("DownloadRankingTest2-{0}", i));
            }
            i = 0;
            foreach (string downloaded_file in downloaded_files)
            {
                i++;
                bool result = filename_list.Exists(delegate(string filename)
                {
                    return(Path.GetFileName(downloaded_file).StartsWith(filename));
                });
                Assert.That(result, Is.True, string.Format("DownloadRankingTest3-{0}", i));
            }

            i = 0;
            foreach (string downloaded_file in downloaded_files)
            {
                i++;
                TestUtility.IsValidXml(downloaded_file);
            }
        }