IndexInput backed by a byte[] for testing.
Inheritance: Lucene.Net.Store.BufferedIndexInput
コード例 #1
0
ファイル: TestIndexInput.cs プロジェクト: mundher/lucene.net
        public virtual void  TestSkipChars()
        {
            byte[]        bytes     = new byte[] { (byte)(0x80), (byte)(0x01), (byte)(0xFF), (byte)(0x7F), (byte)(0x80), (byte)(0x80), (byte)(0x01), (byte)(0x81), (byte)(0x80), (byte)(0x01), (byte)(0x06), (byte)'L', (byte)'u', (byte)'c', (byte)'e', (byte)'n', (byte)'e' };
            System.String utf8Str   = "\u0634\u1ea1";
            byte[]        utf8Bytes = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(utf8Str);
            byte[]        theBytes  = new byte[bytes.Length + 1 + utf8Bytes.Length];
            Array.Copy(bytes, 0, theBytes, 0, bytes.Length);
            theBytes[bytes.Length] = (byte)utf8Str.Length;              //Add in the number of chars we are storing, which should fit in a byte for this test
            Array.Copy(utf8Bytes, 0, theBytes, bytes.Length + 1, utf8Bytes.Length);
            IndexInput is_Renamed = new MockIndexInput(theBytes);

            Assert.AreEqual(128, is_Renamed.ReadVInt());
            Assert.AreEqual(16383, is_Renamed.ReadVInt());
            Assert.AreEqual(16384, is_Renamed.ReadVInt());
            Assert.AreEqual(16385, is_Renamed.ReadVInt());
            int charsToRead = is_Renamed.ReadVInt();             //number of chars in the Lucene string

            Assert.IsTrue(0x06 == charsToRead, 0x06 + " does not equal: " + charsToRead);
            is_Renamed.SkipChars(3);
            char[] chars = new char[3];             //there should be 6 chars remaining
            is_Renamed.ReadChars(chars, 0, 3);
            System.String tmpStr = new System.String(chars);
            Assert.IsTrue(tmpStr.Equals("ene") == true, tmpStr + " is not equal to " + "ene");
            //Now read the UTF8 stuff
            charsToRead = is_Renamed.ReadVInt() - 1;             //since we are skipping one
            is_Renamed.SkipChars(1);
            Assert.IsTrue(utf8Str.Length - 1 == charsToRead, utf8Str.Length - 1 + " does not equal: " + charsToRead);
            chars = new char[charsToRead];
            is_Renamed.ReadChars(chars, 0, charsToRead);
            tmpStr = new System.String(chars);
            Assert.IsTrue(tmpStr.Equals(utf8Str.Substring(1)) == true, tmpStr + " is not equal to " + utf8Str.Substring(1));
        }
コード例 #2
0
		public virtual void  TestSkipChars()
		{
			byte[] bytes = new byte[]{(byte) 0x80, (byte) 0x01, (byte) 0xFF, (byte) 0x7F, (byte) 0x80, (byte) 0x80, (byte) 0x01, (byte) 0x81, (byte) 0x80, (byte) 0x01, (byte) 0x06, (byte) 'L', (byte) 'u', (byte) 'c', (byte) 'e', (byte) 'n', (byte) 'e'};
			System.String utf8Str = "\u0634\u1ea1";
			byte[] utf8Bytes = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(utf8Str);
			byte[] theBytes = new byte[bytes.Length + 1 + utf8Bytes.Length];
			Array.Copy(bytes, 0, theBytes, 0, bytes.Length);
			theBytes[bytes.Length] = (byte) utf8Str.Length; //Add in the number of chars we are storing, which should fit in a byte for this test 
			Array.Copy(utf8Bytes, 0, theBytes, bytes.Length + 1, utf8Bytes.Length);
			IndexInput is_Renamed = new MockIndexInput(theBytes);
			Assert.AreEqual(128, is_Renamed.ReadVInt());
			Assert.AreEqual(16383, is_Renamed.ReadVInt());
			Assert.AreEqual(16384, is_Renamed.ReadVInt());
			Assert.AreEqual(16385, is_Renamed.ReadVInt());
			int charsToRead = is_Renamed.ReadVInt(); //number of chars in the Lucene string
			Assert.IsTrue(0x06 == charsToRead, 0x06 + " does not equal: " + charsToRead);
			is_Renamed.SkipChars(3);
			char[] chars = new char[3]; //there should be 6 chars remaining
			is_Renamed.ReadChars(chars, 0, 3);
			System.String tmpStr = new System.String(chars);
			Assert.IsTrue(tmpStr.Equals("ene") == true, tmpStr + " is not equal to " + "ene");
			//Now read the UTF8 stuff
			charsToRead = is_Renamed.ReadVInt() - 1; //since we are skipping one
			is_Renamed.SkipChars(1);
			Assert.IsTrue(utf8Str.Length - 1 == charsToRead, utf8Str.Length - 1 + " does not equal: " + charsToRead);
			chars = new char[charsToRead];
			is_Renamed.ReadChars(chars, 0, charsToRead);
			tmpStr = new System.String(chars);
			Assert.IsTrue(tmpStr.Equals(utf8Str.Substring(1)) == true, tmpStr + " is not equal to " + utf8Str.Substring(1));
		}
コード例 #3
0
		public virtual void  TestRead()
		{
			IndexInput is_Renamed = new MockIndexInput(new byte[]{(byte) (0x80), (byte) (0x01), (byte) (0xFF), (byte) (0x7F), (byte) (0x80), (byte) (0x80), (byte) (0x01), (byte) (0x81), (byte) (0x80), (byte) (0x01), (byte) (0x06), (byte) 'L', (byte) 'u', (byte) 'c', (byte) 'e', (byte) 'n', (byte) 'e'});
			Assert.AreEqual(128, is_Renamed.ReadVInt());
			Assert.AreEqual(16383, is_Renamed.ReadVInt());
			Assert.AreEqual(16384, is_Renamed.ReadVInt());
			Assert.AreEqual(16385, is_Renamed.ReadVInt());
			Assert.AreEqual("Lucene", is_Renamed.ReadString());
		}
コード例 #4
0
ファイル: TestIndexInput.cs プロジェクト: novak-as/lucenenet
        public virtual void TestBufferedIndexInputRead()
        {
            IndexInput @is = new MockIndexInput(READ_TEST_BYTES);

            CheckReads(@is, typeof(IOException));
            @is.Dispose();
            @is = new MockIndexInput(RANDOM_TEST_BYTES);
            CheckRandomReads(@is);
            @is.Dispose();
        }
コード例 #5
0
ファイル: TestIndexInput.cs プロジェクト: VirtueMe/ravendb
		public virtual void  TestRead()
		{
			IndexInput is_Renamed = new MockIndexInput(new byte[]{(byte) (0x80), (byte) (0x01), (byte) (0xFF), (byte) (0x7F), (byte) (0x80), (byte) (0x80), (byte) (0x01), (byte) (0x81), (byte) (0x80), (byte) (0x01), (byte) (0x06), (byte) 'L', (byte) 'u', (byte) 'c', (byte) 'e', (byte) 'n', (byte) 'e', (byte) (0x02), (byte) (0xC2), (byte) (0xBF), (byte) (0x0A), (byte) 'L', (byte) 'u', (byte) (0xC2), (byte) (0xBF), (byte) 'c', (byte) 'e', (byte) (0xC2), (byte) (0xBF), (byte) 'n', (byte) 'e', (byte) (0x03), (byte) (0xE2), (byte) (0x98), (byte) (0xA0), (byte) (0x0C), (byte) 'L', (byte) 'u', (byte) (0xE2), (byte) (0x98), (byte) (0xA0), (byte) 'c', (byte) 'e', (byte) (0xE2), (byte) (0x98), (byte) (0xA0), (byte) 'n', (byte) 'e', (byte) (0x04), (byte) (0xF0), (byte) (0x9D), (byte) (0x84), (byte) (0x9E), (byte) (0x08), (byte) (0xF0), (byte) (0x9D), (byte) (0x84), (byte) (0x9E), (byte) (0xF0), (byte) (0x9D), (byte) (0x85), (byte) (0xA0), (byte) (0x0E), (byte) 'L', (byte) 'u', (byte) (0xF0), (byte) (0x9D), (byte) (0x84), (byte) (0x9E), (byte) 'c', (byte) 'e', (byte) (0xF0), (byte) (0x9D), (byte) (0x85), (byte) 
				(0xA0), (byte) 'n', (byte) 'e', (byte) (0x01), (byte) (0x00), (byte) (0x08), (byte) 'L', (byte) 'u', (byte) (0x00), (byte) 'c', (byte) 'e', (byte) (0x00), (byte) 'n', (byte) 'e'});
			
			Assert.AreEqual(128, is_Renamed.ReadVInt());
			Assert.AreEqual(16383, is_Renamed.ReadVInt());
			Assert.AreEqual(16384, is_Renamed.ReadVInt());
			Assert.AreEqual(16385, is_Renamed.ReadVInt());
			Assert.AreEqual("Lucene", is_Renamed.ReadString());
			
			Assert.AreEqual("\u00BF", is_Renamed.ReadString());
			Assert.AreEqual("Lu\u00BFce\u00BFne", is_Renamed.ReadString());
			
			Assert.AreEqual("\u2620", is_Renamed.ReadString());
			Assert.AreEqual("Lu\u2620ce\u2620ne", is_Renamed.ReadString());
			
			Assert.AreEqual("\uD834\uDD1E", is_Renamed.ReadString());
			Assert.AreEqual("\uD834\uDD1E\uD834\uDD60", is_Renamed.ReadString());
			Assert.AreEqual("Lu\uD834\uDD1Ece\uD834\uDD60ne", is_Renamed.ReadString());
			
			Assert.AreEqual("\u0000", is_Renamed.ReadString());
			Assert.AreEqual("Lu\u0000ce\u0000ne", is_Renamed.ReadString());
		}
コード例 #6
0
ファイル: TestIndexInput.cs プロジェクト: mundher/lucene.net
        public virtual void  TestRead()
        {
            IndexInput is_Renamed = new MockIndexInput(new byte[] { (byte)(0x80), (byte)(0x01), (byte)(0xFF), (byte)(0x7F), (byte)(0x80), (byte)(0x80), (byte)(0x01), (byte)(0x81), (byte)(0x80), (byte)(0x01), (byte)(0x06), (byte)'L', (byte)'u', (byte)'c', (byte)'e', (byte)'n', (byte)'e', (byte)(0x02), (byte)(0xC2), (byte)(0xBF), (byte)(0x0A), (byte)'L', (byte)'u', (byte)(0xC2), (byte)(0xBF), (byte)'c', (byte)'e', (byte)(0xC2), (byte)(0xBF), (byte)'n', (byte)'e', (byte)(0x03), (byte)(0xE2), (byte)(0x98), (byte)(0xA0), (byte)(0x0C), (byte)'L', (byte)'u', (byte)(0xE2), (byte)(0x98), (byte)(0xA0), (byte)'c', (byte)'e', (byte)(0xE2), (byte)(0x98), (byte)(0xA0), (byte)'n', (byte)'e', (byte)(0x04), (byte)(0xF0), (byte)(0x9D), (byte)(0x84), (byte)(0x9E), (byte)(0x08), (byte)(0xF0), (byte)(0x9D), (byte)(0x84), (byte)(0x9E), (byte)(0xF0), (byte)(0x9D), (byte)(0x85), (byte)(0xA0), (byte)(0x0E), (byte)'L', (byte)'u', (byte)(0xF0), (byte)(0x9D), (byte)(0x84), (byte)(0x9E), (byte)'c', (byte)'e', (byte)(0xF0), (byte)(0x9D), (byte)(0x85), (byte)
                                                                    (0xA0), (byte)'n', (byte)'e', (byte)(0x01), (byte)(0x00), (byte)(0x08), (byte)'L', (byte)'u', (byte)(0x00), (byte)'c', (byte)'e', (byte)(0x00), (byte)'n', (byte)'e' });

            Assert.AreEqual(128, is_Renamed.ReadVInt());
            Assert.AreEqual(16383, is_Renamed.ReadVInt());
            Assert.AreEqual(16384, is_Renamed.ReadVInt());
            Assert.AreEqual(16385, is_Renamed.ReadVInt());
            Assert.AreEqual("Lucene", is_Renamed.ReadString());

            Assert.AreEqual("\u00BF", is_Renamed.ReadString());
            Assert.AreEqual("Lu\u00BFce\u00BFne", is_Renamed.ReadString());

            Assert.AreEqual("\u2620", is_Renamed.ReadString());
            Assert.AreEqual("Lu\u2620ce\u2620ne", is_Renamed.ReadString());

            Assert.AreEqual("\uD834\uDD1E", is_Renamed.ReadString());
            Assert.AreEqual("\uD834\uDD1E\uD834\uDD60", is_Renamed.ReadString());
            Assert.AreEqual("Lu\uD834\uDD1Ece\uD834\uDD60ne", is_Renamed.ReadString());

            Assert.AreEqual("\u0000", is_Renamed.ReadString());
            Assert.AreEqual("Lu\u0000ce\u0000ne", is_Renamed.ReadString());
        }
コード例 #7
0
 public virtual void TestBufferedIndexInputRead()
 {
     IndexInput @is = new MockIndexInput(READ_TEST_BYTES);
     CheckReads(@is, typeof(IOException));
     @is.Dispose();
     @is = new MockIndexInput(RANDOM_TEST_BYTES);
     CheckRandomReads(@is);
     @is.Dispose();
 }