public void IsCompleted_NullString_ReturnsFalse()
		{
			using (var scanner = new EnumerableStream<char>(null))
			{
				Assert.Equal(true, scanner.IsCompleted);
			}
		}
		public void Pop_NullString_ReturnsNullChar()
		{
			using (var scanner = new EnumerableStream<char>(null))
			{
				Assert.Equal('\0', scanner.Pop());
			}
		}
Example #3
0
 public Stream Stream()
 {
     if (!Parameters.Count)
     {
         return(EnumerableStream.Create(Apply(), this.SelectionTree.AsJson, ",", "[", "]"));
     }
     throw new NotImplementedException("Count is not implemented.");
 }
        public void EnumerableStream()
        {
            var stream = new EnumerableStream <byte>(_testStringSecure.ToLazyUnicodeBytes(), b => new [] { b });

            var buffer = new byte[22];

            var offset = 0;

            while (stream.Read(buffer, offset++, 1) != 0)
            {
            }

            Assert.That(buffer, Is.EquivalentTo(_testStringUnicodeBytes));
        }
		public void Pop_NullString_ReturnsEmptySequence()
		{
			using (var scanner = new EnumerableStream<char>(null))
			{
				var buffer = new StringBuilder();
				while (!scanner.IsCompleted)
				{
					buffer.Append(scanner.Pop());
				}

				Assert.Equal(String.Empty, buffer.ToString());
			}
		}
		public void Peek_LongString_ReturnsSameAsPop()
		{
			const string input = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

			using (var scanner = new EnumerableStream<char>(input.ToCharArray()))
			{
				while (!scanner.IsCompleted)
				{
					char ch = scanner.Peek();
					Assert.Equal(scanner.Pop(), ch);
				}

				Assert.Equal(true, scanner.IsCompleted);
			}
		}
		public void Pop_UnicodeString_ReturnsSameSequence()
		{
			const string input = "私が日本語を話すことはありません。";

			using (var scanner = new EnumerableStream<char>(input.ToCharArray()))
			{
				var buffer = new StringBuilder();
				while (!scanner.IsCompleted)
				{
					buffer.Append(scanner.Pop());
				}

				Assert.Equal(input, buffer.ToString());
			}
		}
		public void Pop_EscapedSequence_ReturnsSameSequence()
		{
			const string input = @"""\\\b\f\n\r\t\u0123\u4567\u89AB\uCDEF\uabcd\uef4A\""""";

			using (var scanner = new EnumerableStream<char>(input.ToCharArray()))
			{
				var buffer = new StringBuilder();
				while (!scanner.IsCompleted)
				{
					buffer.Append(scanner.Pop());
					scanner.Peek();
				}

				Assert.Equal(input, buffer.ToString());
			}
		}
		public void Pop_LongString_ReturnsSameSequence()
		{
			const string input = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

			using (var scanner = new EnumerableStream<char>(input.ToCharArray()))
			{
				var buffer = new StringBuilder();
				while (!scanner.IsCompleted)
				{
					buffer.Append(scanner.Pop());
				}

				Assert.Equal(input, buffer.ToString());
			}
		}