示例#1
0
 public void TestProperties()
 {
     // invalid properties
      using (var stack = new StreamStack())
      {
     Assert.IsFalse(stack.CanSeek);
     Assert.IsFalse(stack.CanRead);
     Assert.IsFalse(stack.CanWrite);
     AssertException(() => { var x = stack.Position; });
     AssertException(() => stack.Position = 10);
     AssertException(() => { var x = stack.Length; });
     AssertException(() => stack.SetLength(10));
     Assert.IsNull(stack.Top);
      }
      // valid properties
      using (var stack = new StreamStack())
      {
     var top = new MemoryStream();
     stack.Push(top);
     Assert.IsTrue(stack.CanRead);
     Assert.IsTrue(stack.CanWrite);
     Assert.AreEqual(stack.Top, top);
      }
      using (var stack = new StreamStack())
      {
     stack.Push(new MemoryStream(new Byte[10], false));
     Assert.IsTrue(stack.CanRead);
     Assert.IsFalse(stack.CanWrite);
      }
 }