コード例 #1
0
        public void SaveAndLoadIndexData()
        {
            var expect = new Dictionary <string, List <int> >
            {
                { "0", new List <int> {
                      1, 2, 4
                  } },
                { "東京", new List <int> {
                      2, 5, 9
                  } },
                { "大阪", new List <int> {
                      4, 8
                  } }
            };
            string saveFilePath =
                Path.Combine(TestSetup.RootDirectory, "TestResult", "Utilties", "IndexUtility", "SaveIndexData",
                             "test.idx");

            var encoding = Encoding.GetEncoding("Shift-JIS");

            IndexUtility.SaveIndexData(saveFilePath, expect, encoding);
            var actual = IndexUtility.LoadIndexData(saveFilePath, encoding);

            CollectionAssert.AreEquivalent(expect, actual);
        }
コード例 #2
0
        /// <summary>
        /// インデックスの作成を行う処理です。
        /// </summary>
        public void CreateIndex()
        {
            string zipFilePath = Path.Combine(_storageDirectoryPath, "download.zip");

            FileUtility.DownloadZipFile(zipFilePath, DataSourceUrl);

            string extractDirectory = FileUtility.GetZipExtractDirectory(_storageDirectoryPath);
            string csvFilePath      = FileUtility.ExtractCsvFile(zipFilePath, extractDirectory);

            var    indexData     = IndexUtility.GetIndexData(csvFilePath, Ngram, FileEncoding);
            string indexFilePath = csvFilePath + FileUtility.IndexFileExtension;

            IndexUtility.SaveIndexData(indexFilePath, indexData, FileEncoding);
        }
コード例 #3
0
        public void LoadIndexDataArgumentKeywords()
        {
            var indices = new Dictionary <string, List <int> >
            {
                { "0", new List <int> {
                      1, 2, 4
                  } },
                { "関東", new List <int> {
                      2, 5, 9
                  } },
                { "大阪", new List <int> {
                      4, 8
                  } },
                { "京都", new List <int> {
                      5, 9
                  } }
            };
            var expect   = new Dictionary <string, List <int> >();
            var keywords = new List <string> {
                "東", "京"
            };

            foreach (var index in indices)
            {
                if (keywords.Any(keyword => index.Key.Contains(keyword)))
                {
                    expect.Add(index.Key, index.Value);
                }
            }

            Assert.IsTrue(Directory.Exists(Path.Combine(TestSetup.RootDirectory, "TestResult", "Utilties")));
            string saveFilePath =
                Path.Combine(TestSetup.RootDirectory, "TestResult", "Utilties", "IndexUtility", "SaveIndexData",
                             "test.idx");
            var encoding = Encoding.GetEncoding("Shift-JIS");

            IndexUtility.SaveIndexData(saveFilePath, indices, encoding);
            var actual = IndexUtility.LoadIndexData(saveFilePath, encoding, keywords);

            CollectionAssert.AreEquivalent(expect, actual);
        }