private void CheckReads(DataInput @is, Type expectedEx) { Assert.AreEqual(128, @is.ReadVInt()); Assert.AreEqual(16383, @is.ReadVInt()); Assert.AreEqual(16384, @is.ReadVInt()); Assert.AreEqual(16385, @is.ReadVInt()); Assert.AreEqual(int.MaxValue, @is.ReadVInt()); Assert.AreEqual(-1, @is.ReadVInt()); Assert.AreEqual((long)int.MaxValue, @is.ReadVLong()); Assert.AreEqual(long.MaxValue, @is.ReadVLong()); Assert.AreEqual("Lucene", @is.ReadString()); Assert.AreEqual("\u00BF", @is.ReadString()); Assert.AreEqual("Lu\u00BFce\u00BFne", @is.ReadString()); Assert.AreEqual("\u2620", @is.ReadString()); Assert.AreEqual("Lu\u2620ce\u2620ne", @is.ReadString()); Assert.AreEqual("\uD834\uDD1E", @is.ReadString()); Assert.AreEqual("\uD834\uDD1E\uD834\uDD60", @is.ReadString()); Assert.AreEqual("Lu\uD834\uDD1Ece\uD834\uDD60ne", @is.ReadString()); Assert.AreEqual("\u0000", @is.ReadString()); Assert.AreEqual("Lu\u0000ce\u0000ne", @is.ReadString()); try { @is.ReadVInt(); Assert.Fail("Should throw " + expectedEx.Name); } catch (Exception e) { Assert.IsTrue(e.Message.StartsWith("Invalid vInt")); Assert.IsTrue(expectedEx.IsInstanceOfType(e)); } Assert.AreEqual(1, @is.ReadVInt()); // guard value try { @is.ReadVLong(); Assert.Fail("Should throw " + expectedEx.Name); } catch (Exception e) { Assert.IsTrue(e.Message.StartsWith("Invalid vLong")); Assert.IsTrue(expectedEx.IsInstanceOfType(e)); } Assert.AreEqual(1L, @is.ReadVLong()); // guard value }
private void CheckRandomReads(DataInput @is) { for (int i = 0; i < COUNT; i++) { Assert.AreEqual(INTS[i], @is.ReadVInt()); Assert.AreEqual(INTS[i], @is.ReadInt()); Assert.AreEqual(LONGS[i], @is.ReadVLong()); Assert.AreEqual(LONGS[i], @is.ReadLong()); } }