public void LazinatorStackWorks() { LazinatorStack <WInt32> s = new LazinatorStack <WInt32>(); s.Push(3); s.Any().Should().BeTrue(); var r = s.Pop(); r.WrappedValue.Should().Be(3); s.Any().Should().BeFalse(); s.Push(3); s.Push(4); r = s.Peek(); r.WrappedValue.Should().Be(4); r = s.Pop(); r.WrappedValue.Should().Be(4); s.Push(4); s.Push(5); r = s.Pop(); r.WrappedValue.Should().Be(5); r = s.Pop(); r.WrappedValue.Should().Be(4); r = s.Pop(); r.WrappedValue.Should().Be(3); s.Any().Should().BeFalse(); }