//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private void shouldComplyWithSpecifiedCharset(java.nio.charset.Charset charset) throws Exception private void ShouldComplyWithSpecifiedCharset(Charset charset) { // GIVEN string data = "abcåäö[]{}"; File file = WriteToFile(data, charset); // WHEN CharReadable reader = Readables.Files(charset, file); SectionedCharBuffer buffer = new SectionedCharBuffer(100); buffer = reader.Read(buffer, buffer.Front()); // THEN char[] expected = data.ToCharArray(); char[] array = buffer.Array(); assertEquals(expected.Length, buffer.Available()); for (int i = 0; i < expected.Length; i++) { assertEquals(expected[i], array[buffer.Pivot() + i]); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void shouldReadAhead() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: internal virtual void ShouldReadAhead() { // GIVEN TrackingReader actual = new TrackingReader(23); int bufferSize = 5; CharReadable aheadReader = ThreadAheadReadable.ThreadAhead(actual, bufferSize); SectionedCharBuffer buffer = new SectionedCharBuffer(bufferSize); // WHEN starting it up it should read and fill the buffer to the brim assertEquals(bufferSize, actual.AwaitCompletedReadAttempts(1)); // WHEN we read one buffer int read = 0; buffer = aheadReader.Read(buffer, buffer.Front()); AssertBuffer(Chars(read, bufferSize), buffer, 0, bufferSize); read += buffer.Available(); // and simulate reading all characters, i.e. back section will be empty in the new buffer buffer = aheadReader.Read(buffer, buffer.Front()); AssertBuffer(Chars(read, bufferSize), buffer, 0, bufferSize); read += buffer.Available(); // then simulate reading some characters, i.e. back section will contain some characters int keep = 2; buffer = aheadReader.Read(buffer, buffer.Front() - keep); AssertBuffer(Chars(read - keep, bufferSize + keep), buffer, keep, bufferSize); read += buffer.Available(); keep = 3; buffer = aheadReader.Read(buffer, buffer.Front() - keep); AssertBuffer(Chars(read - keep, bufferSize + keep), buffer, keep, bufferSize); read += buffer.Available(); keep = 1; buffer = aheadReader.Read(buffer, buffer.Front() - keep); assertEquals(3, buffer.Available()); AssertBuffer(Chars(read - keep, buffer.Available() + keep), buffer, keep, 3); read += buffer.Available(); assertEquals(23, read); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldTrackPosition() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldTrackPosition() { // GIVEN string data = "1234567890"; // ^ ^ CharReadable reader = Readables.Wrap(data); SectionedCharBuffer buffer = new SectionedCharBuffer(4); // WHEN int expected = 0; do { buffer = reader.Read(buffer, buffer.Front()); expected += buffer.Available(); // THEN assertEquals(expected, reader.Position()); } while (buffer.HasAvailable()); // and THEN assertEquals(data.ToCharArray().length, expected); }
internal virtual SectionedCharBuffer RegisterBytesRead(SectionedCharBuffer buffer) { BytesRead += buffer.Available(); return(buffer); }