Example #1
0
        public void Copy()
        {
            var causalities = new Stack <Causality>();

            causalities.Push(new Causality(new Port("x")));
            causalities.Push(new Causality(new Port("y")));
            var sut = new CausalityStack(causalities);

            var copyOfSut = sut.Copy();

            Assert.AreNotSame(copyOfSut, sut);

            Assert.AreEqual("y", copyOfSut.Peek().Port.Fullname);
            copyOfSut.Pop();
            Assert.AreEqual("x", copyOfSut.Peek().Port.Fullname);
            copyOfSut.Pop();
            Assert.IsTrue(copyOfSut.IsEmpty);

            Assert.AreEqual(2, causalities.Count);
        }