예제 #1
0
        public void EmptyTest()
        {
            var queue = PhysicistsQueue <string> .Empty;

            Assert.IsTrue(PhysicistsQueue <string> .IsEmpty(queue));

            queue = PhysicistsQueue <string> .Snoc(queue, "Item");

            Assert.IsFalse(PhysicistsQueue <string> .IsEmpty(queue));

            queue = PhysicistsQueue <string> .Tail(queue);

            Assert.IsTrue(PhysicistsQueue <string> .IsEmpty(queue));
        }
예제 #2
0
        public void SnocTest()
        {
            var queue = PhysicistsQueue <string> .Empty;

            queue = PhysicistsQueue <string> .Snoc(queue, "One");

            Assert.AreEqual("[[One], 1, [One], 0, null]", DumpQueue(queue, false));

            queue = PhysicistsQueue <string> .Snoc(queue, "Two");

            Assert.AreEqual("[[One], 1, [One], 1, [Two]]", DumpQueue(queue, false));

            queue = PhysicistsQueue <string> .Snoc(queue, "Three");

            Assert.AreEqual("[[One], 3, $[One, Two, Three], 0, null]", DumpQueue(queue, true));
        }
예제 #3
0
        public void EmptySnocTest()
        {
            var ex = AssertThrows <NullReferenceException>(() => PhysicistsQueue <string> .Snoc(null, "Item"));

            Assert.AreEqual("Object reference not set to an instance of an object.", ex.Message);
        }