public void FindOffset_Char__ReturnsCorrectValue() { var reader = new StringCodeReader("aaa bbb"); Assert.AreEqual(0, reader.FindOffset('a')); Assert.AreEqual(0, reader.Position); Assert.AreEqual(4, reader.FindOffset('b')); Assert.AreEqual(0, reader.Position); reader.Advance(2); Assert.AreEqual(0, reader.FindOffset('a')); Assert.AreEqual(2, reader.Position); Assert.AreEqual(2, reader.FindOffset('b')); Assert.AreEqual(2, reader.Position); Assert.AreEqual(-1, reader.FindOffset('c')); Assert.AreEqual(2, reader.Position); }
public void FindOffset_Char_Int32__ReturnsCorrectValue() { var reader = new StringCodeReader("aaa bbb"); Assert.AreEqual(1, reader.FindOffset('a', 1)); Assert.AreEqual(0, reader.Position); Assert.AreEqual(5, reader.FindOffset('b', 5)); Assert.AreEqual(0, reader.Position); Assert.AreEqual(-1, reader.FindOffset('b', 8)); Assert.AreEqual(0, reader.Position); reader.Advance(2); Assert.AreEqual(-1, reader.FindOffset('a', 1)); Assert.AreEqual(2, reader.Position); Assert.AreEqual(3, reader.FindOffset('b', 3)); Assert.AreEqual(2, reader.Position); Assert.AreEqual(-1, reader.FindOffset('c')); Assert.AreEqual(2, reader.Position); Assert.AreEqual(-1, reader.FindOffset('b', 6)); Assert.AreEqual(2, reader.Position); Assert.ThrowsException <ArgumentOutOfRangeException>(() => reader.FindOffset('a', -1), "The offset must be positivel."); }
public void FindOffset_String__ReturnsCorrectValue() { var reader = new StringCodeReader("aaa bbb"); Assert.AreEqual(0, reader.FindOffset("aaa")); Assert.AreEqual(0, reader.Position); Assert.AreEqual(4, reader.FindOffset("bbb")); Assert.AreEqual(0, reader.Position); reader.Advance(1); Assert.AreEqual(0, reader.FindOffset("aa")); Assert.AreEqual(1, reader.Position); Assert.AreEqual(-1, reader.FindOffset("aaa")); Assert.AreEqual(1, reader.Position); Assert.AreEqual(3, reader.FindOffset("bbb")); Assert.AreEqual(1, reader.Position); Assert.AreEqual(-1, reader.FindOffset("ccc")); Assert.AreEqual(1, reader.Position); #nullable disable