public void ParsingTextReaderBlockingSimpleRead2() { StringReader strReader = new StringReader(TestData); BlockingTextReader reader = ParsingTextReader.CreateBlocking(strReader); char[] cs = new char[100]; int read = reader.Read(cs, 0, cs.Length); Assert.Equal(TestData.Length, read); Assert.True(reader.EndOfStream); Assert.Equal(-1, reader.Peek()); Assert.Equal(-1, reader.Read()); reader.Close(); String s = new string(cs, 0, read); Assert.Equal(TestData, s); }
public void ParsingTextReaderBlockingSimpleRead() { StringReader strReader = new StringReader(TestData); BlockingTextReader reader = ParsingTextReader.CreateBlocking(strReader); StringBuilder output = new StringBuilder(); while (!reader.EndOfStream) { output.Append((char)reader.Read()); } Assert.IsTrue(reader.EndOfStream); Assert.AreEqual(-1, reader.Peek()); Assert.AreEqual(-1, reader.Read()); reader.Close(); Console.WriteLine(output.ToString()); Assert.AreEqual(TestData, output.ToString()); }
public void ParsingTextReaderBlockingSimpleReadBlock2() { StringReader strReader = new StringReader(TestData); BlockingTextReader reader = ParsingTextReader.CreateBlocking(strReader); char[] cs = new char[10]; int start = 0; while (!reader.EndOfStream) { int read = reader.ReadBlock(cs, 0, cs.Length); Assert.IsTrue(read <= 10); String s = new string(cs, 0, read); Assert.AreEqual(TestData.Substring(start, read), s); start += 10; } Assert.IsTrue(reader.EndOfStream); Assert.AreEqual(-1, reader.Peek()); Assert.AreEqual(-1, reader.Read()); reader.Close(); }
public void ParsingBlockingVsNonBlocking3() { this.EnsureNIOData(); Stopwatch timer = new Stopwatch(); TimeSpan blockingTime = new TimeSpan(), nonBlockingTime = new TimeSpan(); int maxSize = 1024 * 32; for (int size = 1024; size < maxSize; size += 1024) { Console.WriteLine("Buffer Size " + size); for (int i = 0; i < 25; i++) { timer.Reset(); //Test Blocking BlockingTextReader blocking = ParsingTextReader.CreateBlocking(new StreamReader("resources\\nio.ttl"), 4096); timer.Start(); int totalBlocking = 0; int read; while (!blocking.EndOfStream) { read = blocking.Read(); if (read >= 0) { totalBlocking++; } } timer.Stop(); blocking.Close(); blockingTime = blockingTime.Add(timer.Elapsed); //Reset timer.Reset(); int totalNonBlocking = 0; NonBlockingTextReader nonBlocking = ParsingTextReader.CreateNonBlocking(new StreamReader("resources\\nio.ttl"), 4096); timer.Start(); while (!nonBlocking.EndOfStream) { read = nonBlocking.Read(); if (read >= 0) { totalNonBlocking++; } } timer.Stop(); nonBlocking.Close(); nonBlockingTime = nonBlockingTime.Add(timer.Elapsed); Assert.AreEqual(totalBlocking, totalNonBlocking); } Console.WriteLine(); Console.WriteLine("Blocking Total Time = " + blockingTime); Console.WriteLine("Non-Blocking Total Time = " + nonBlockingTime); Console.WriteLine(); blockingTime = new TimeSpan(); nonBlockingTime = new TimeSpan(); } }
public void ParsingTextReaderBlockingBadInstantiation2() { BlockingTextReader reader = ParsingTextReader.CreateBlocking(new StringReader(String.Empty), 0); }
public void ParsingTextReaderBlockingBadInstantiation() { BlockingTextReader reader = ParsingTextReader.CreateBlocking((TextReader)null); }
public void ParsingTextReaderBlockingBadInstantiation2() { Assert.Throws <ArgumentException>(() => ParsingTextReader.CreateBlocking(new StringReader(String.Empty), 0)); }
public void ParsingTextReaderBlockingBadInstantiation() { Assert.Throws <ArgumentNullException>(() => ParsingTextReader.CreateBlocking((TextReader)null)); }