Exemplo n.º 1
0
        public void TestReadAndLookUpTokenInfo()
        {
            List <short> tokenInfo = new List <short>();
            List <int>   features  = new List <int>();

            short[] tokenInfos = new short[3];
            tokenInfos[0] = 1;
            tokenInfos[1] = 2;
            tokenInfos[2] = 3;

            int[] featureInfos = new int[2];
            featureInfos[0] = 73;
            featureInfos[1] = 99;

            tokenInfo.Add((short)1);
            tokenInfo.Add((short)2);
            tokenInfo.Add((short)3);

            features.Add(73);
            features.Add(99);

            BufferEntry entry = new BufferEntry();

            entry.TokenInfo = tokenInfo;
            entry.Features  = features;

            entry.TokenInfos   = tokenInfos;
            entry.FeatureInfos = featureInfos;

            List <BufferEntry> bufferEntries = new List <BufferEntry>();

            bufferEntries.Add(entry);

            using (TokenInfoBufferCompiler compiler = new TokenInfoBufferCompiler(bufferEntries))
            {
                using (var outputStream = File.Create(tokenInfoFile))
                {
                    compiler.Compile(outputStream);
                }
            }

            using (var inputStream = File.OpenRead(tokenInfoFile))
            {
                using (TokenInfoBuffer tokenInfoBuffer2 = new TokenInfoBuffer(inputStream))
                {
                    Assert.AreEqual(99, tokenInfoBuffer2.LookupFeature(0, 1));
                    Assert.AreEqual(73, tokenInfoBuffer2.LookupFeature(0, 0));
                }
            }
        }
Exemplo n.º 2
0
        public void TestCompleteLookUp()
        {
            Dictionary <int, string> resultMap = new Dictionary <int, string>();

            resultMap[73] = "hello";
            resultMap[42] = "今日は";
            resultMap[99] = "素敵な世界";

            List <short> tokenInfo = new List <short>();
            List <int>   features  = new List <int>();

            tokenInfo.Add((short)1);
            tokenInfo.Add((short)2);
            tokenInfo.Add((short)3);

            features.Add(73);
            features.Add(99);

            BufferEntry entry = new BufferEntry();

            entry.TokenInfo = tokenInfo;
            entry.Features  = features;

            List <BufferEntry> bufferEntries = new List <BufferEntry>();

            bufferEntries.Add(entry);

            using (var outStream = File.Create(tokenInfoFile))
            {
                using (TokenInfoBufferCompiler compiler = new TokenInfoBufferCompiler(bufferEntries))
                {
                    compiler.Compile(outStream);
                }
            }

            using (var inStream = File.OpenRead(tokenInfoFile))
            {
                using (TokenInfoBuffer tokenInfoBuffer = new TokenInfoBuffer(inStream))
                {
                    BufferEntry result = tokenInfoBuffer.LookupEntry(0);

                    Assert.AreEqual("hello", resultMap[result.FeatureInfos[0]]);
                    Assert.AreEqual("素敵な世界", resultMap[result.FeatureInfos[1]]);
                }
            }
        }
        public void TestCompleteLookUp()
        {
            var resultMap = new Dictionary <int, string>();

            resultMap.Add(73, "hello");
            resultMap.Add(42, "今日は");
            resultMap.Add(99, "素敵な世界");

            var tokenInfo = new List <short>();
            var features  = new List <int>();

            tokenInfo.Add(1);
            tokenInfo.Add(2);
            tokenInfo.Add(3);

            features.Add(73);
            features.Add(99);

            var entry = new BufferEntry();

            entry.TokenInfo = tokenInfo;
            entry.Features  = features;

            var bufferEntries = new List <BufferEntry>();

            bufferEntries.Add(entry);

            using (var ms = new MemoryStream())
            {
                var compiler = new TokenInfoBufferCompiler(ms, bufferEntries);
                compiler.Compile();

                ms.Seek(0, SeekOrigin.Begin);

                var tokenInfoBuffer = new TokenInfoBuffer(ms);

                var result = tokenInfoBuffer.LookupEntry(0);
                resultMap[result.FeatureInfos[0]].Is("hello");
                resultMap[result.FeatureInfos[1]].Is("素敵な世界");
            }
        }
        public void TestReadAndLookUpTokenInfo()
        {
            var tokenInfo = new List <short>();
            var features  = new List <int>();

            var tokenInfos = new short[] { 1, 2, 3 };

            var featureInfos = new int[] { 73, 99 };

            tokenInfo.Add(1);
            tokenInfo.Add(2);
            tokenInfo.Add(3);

            features.Add(73);
            features.Add(99);

            var entry = new BufferEntry();

            entry.TokenInfo = tokenInfo;
            entry.Features  = features;

            entry.TokenInfos   = tokenInfos;
            entry.FeatureInfos = featureInfos;

            var bufferEntries = new List <BufferEntry>();

            bufferEntries.Add(entry);

            using (var ms = new MemoryStream())
            {
                var compiler = new TokenInfoBufferCompiler(ms, bufferEntries);
                compiler.Compile();

                ms.Seek(0, SeekOrigin.Begin);

                var tokenInfoBuffer2 = new TokenInfoBuffer(ms);

                tokenInfoBuffer2.LookupFeature(0, 1).Is(99);
                tokenInfoBuffer2.LookupFeature(0, 0).Is(73);
            }
        }