public void CircularQueueGetSize()
        {
            int maxSize = 100;
            var myQueue = new MyCircularQueue(maxSize);

            Assert.AreEqual(100, myQueue.GetSize());
        }
        public void CircularQueueEmptyandGetCount()
        {
            int maxSize = 100;
            var myQueue = new MyCircularQueue(maxSize);

            Assert.AreEqual(0, myQueue.GetCount());
        }
Example #3
0
        public void isFullTest()
        {
            MyCircularQueue c = new MyCircularQueue(1);

            Assert.False(c.IsFull());
            Assert.True(c.EnQueue(36));
            Assert.True(c.IsFull());
        public void MyCircularQueueTestCase1()
        {
            var queue = new MyCircularQueue(3);

            queue.IsEmpty().Should().BeTrue();
            queue.EnQueue(1).Should().BeTrue();
            queue.ToString().Should().Be("1");
            queue.Rear().Should().Be(1);
            queue.Front().Should().Be(1);
            queue.EnQueue(2).Should().BeTrue();
            queue.ToString().Should().Be("1, 2");
            queue.Front().Should().Be(1);
            queue.EnQueue(3).Should().BeTrue();
            queue.ToString().Should().Be("1, 2, 3");
            queue.EnQueue(4).Should().BeFalse();
            queue.Front().Should().Be(1);
            queue.Rear().Should().Be(3);
            queue.IsFull().Should().BeTrue();
            queue.DeQueue().Should().BeTrue();
            queue.ToString().Should().Be("2, 3");
            queue.Front().Should().Be(2);
            queue.EnQueue(4).Should().BeTrue();
            queue.ToString().Should().Be("2, 3, 4");
            queue.Rear().Should().Be(4);
            queue.Front().Should().Be(2);
            queue.DeQueue().Should().BeTrue();
            queue.DeQueue().Should().BeTrue();
            queue.DeQueue().Should().BeTrue();
            queue.DeQueue().Should().BeFalse();
            queue.IsEmpty().Should().BeTrue();
            queue.IsFull().Should().BeFalse();
            queue.EnQueue(1).Should().BeTrue();
            queue.IsEmpty().Should().BeFalse();
        }
Example #5
0
        public void isEmptyTest()
        {
            MyCircularQueue c = new MyCircularQueue(5);

            Assert.True(c.IsEmpty());
            Assert.True(c.EnQueue(36));
            Assert.False(c.IsEmpty());
        }
        public void CircularQueueEmptyAndPop()
        {
            int maxSize = 3;
            var myQueue = new MyCircularQueue(maxSize);
            var obj     = myQueue.Pop();

            Assert.IsNull(obj);
        }
        public void CircularQueuePushGetCount()
        {
            int maxSize = 100;
            var myQueue = new MyCircularQueue(maxSize);

            myQueue.Push(1);

            Assert.AreEqual(1, myQueue.GetCount());
        }
        public void CircularQueuePush3ItemAndPopGetCount()
        {
            int maxSize = 100;
            var myQueue = new MyCircularQueue(maxSize);

            myQueue.Push(1);
            myQueue.Push("1");
            myQueue.Push("A");
            var obj = myQueue.Pop();

            Assert.AreEqual(1, obj);
            Assert.AreEqual(2, myQueue.GetCount());
        }
        public void CircularQueuePush4ItemAndAlreadyFull()
        {
            int maxSize = 3;
            var myQueue = new MyCircularQueue(maxSize);

            myQueue.Push("A");
            myQueue.Push("B");
            var bPushSuccess = myQueue.Push("C");
            var bPushFail    = myQueue.Push("D");

            Assert.AreEqual(true, bPushSuccess);
            Assert.AreEqual(false, bPushFail);
        }
Example #10
0
        public void Check_MyCircularQueue_BaseCase()
        {
            MyCircularQueue circularQueue = new MyCircularQueue(3);

            Assert.IsTrue(circularQueue.EnQueue(1));            // return true
            Assert.IsTrue(circularQueue.EnQueue(2));            // return true
            Assert.IsTrue(circularQueue.EnQueue(3));            // return true
            Assert.IsFalse(circularQueue.EnQueue(4));           // return false, the queue is full
            Assert.IsTrue(circularQueue.Rear() == 3);           // return 3
            Assert.IsTrue(circularQueue.IsFull());              // return true
            Assert.IsTrue(circularQueue.DeQueue());             // return true
            Assert.IsTrue(circularQueue.EnQueue(4));            // return true
            Assert.IsTrue(circularQueue.Rear() == 4);           // return 4
        }
        public void CircularQueuePush3ItemAndPop3GetCountAndIsEmpty()
        {
            int maxSize = 100;
            var myQueue = new MyCircularQueue(maxSize);

            myQueue.Push(1);
            myQueue.Push("1");
            myQueue.Push("A");
            var obj = myQueue.Pop();

            obj = myQueue.Pop();
            obj = myQueue.Pop();
            Assert.AreEqual("A", obj);
            Assert.AreEqual(true, myQueue.IsEmpty());
        }
 static void Main(string[] args)
 {
     MyCircularQueue obj      = new MyCircularQueue(3);
     bool            param_1  = obj.EnQueue(7);
     bool            param_7  = obj.DeQueue();
     int             front1   = obj.Front();
     bool            param_8  = obj.DeQueue();
     int             front2   = obj.Front();
     int             rear     = obj.Rear();
     bool            param_2  = obj.EnQueue(0);
     bool            isfull   = obj.IsFull();
     bool            param_9  = obj.DeQueue();
     int             rear2    = obj.Rear();
     bool            param_10 = obj.EnQueue(3);
 }
Example #13
0
        public void enquedequeUnitTest()
        {
            MyCircularQueue c = new MyCircularQueue(2);

            Assert.True(c.EnQueue(4));
            Assert.Equal(4, c.Rear());
            Assert.True(c.EnQueue(9));
            Assert.True(c.DeQueue());
            Assert.Equal(9, c.Front());
            Assert.True(c.DeQueue());
            Assert.True(c.IsEmpty());
            Assert.False(c.DeQueue());
            Assert.True(c.EnQueue(6));
            Assert.True(c.EnQueue(4));
        }
Example #14
0
        public void Check_MyCircularQueue_SecondFailedCase()
        {
            MyCircularQueue circularQueue = null;
            var             methods       = new string[] {
                "MyCircularQueue", "enQueue", "isFull", "enQueue", "enQueue", "isFull", "enQueue", "enQueue", "enQueue", "Front", "Front", "Rear", "enQueue", "Rear", "enQueue", "Rear", "Front", "enQueue", "enQueue", "Front", "enQueue", "enQueue", "Rear", "enQueue", "isEmpty", "Rear", "Front", "Rear", "enQueue", "Front", "enQueue", "Rear", "isEmpty", "Rear", "enQueue", "Front", "Front", "deQueue", "enQueue", "Front", "enQueue", "enQueue", "deQueue", "enQueue", "isFull", "Front", "enQueue", "deQueue", "enQueue", "isEmpty", "isEmpty", "enQueue", "Front", "Front", "Rear", "deQueue", "Front", "enQueue", "Rear", "enQueue", "Rear", "Rear", "Front", "deQueue", "enQueue", "deQueue", "Rear", "enQueue", "Front", "enQueue", "enQueue", "deQueue", "enQueue", "Front", "enQueue", "deQueue", "enQueue", "Front", "Front", "enQueue", "enQueue", "enQueue", "Front", "enQueue", "enQueue", "Rear", "deQueue", "enQueue", "Front", "enQueue", "enQueue", "Rear", "enQueue", "enQueue", "Rear", "isFull", "enQueue", "Rear", "enQueue", "deQueue", "Rear", "enQueue"
            };

            var paramethers = @"[[30],[71],[],[32],[1],[],[32],[8],[6],[],[],[],[8],[],[3],[],[],[56],[41],[],[14],[6],[],[25],[],[],[],[],[44],[],[84],[],[],[],[59],[],[],[],[4],[],[40],[11],[],[94],[],[],[72],[],[19],[],[],[20],[],[],[],[],[],[58],[],[54],[],[],[],[],[65],[],[],[59],[],[26],[10],[],[14],[],[2],[],[37],[],[],[46],[63],[42],[],[84],[30],[],[],[49],[],[79],[46],[],[97],[83],[],[],[76],[],[79],[],[],[44]]";
            var results     = @"[null,true,false,true,true,false,true,true,true,71,71,6,true,8,true,3,71,true,true,71,true,true,6,true,false,25,71,25,true,71,true,84,false,84,true,71,71,true,true,32,true,true,true,true,false,1,true,true,true,false,false,true,32,32,20,true,8,true,58,true,54,54,8,true,true,true,65,true,8,true,true,true,true,3,true,true,true,56,56,true,true,true,56,true,true,30,true,true,41,true,false,79,false,false,79,true,false,79,false,true,79,true]";

            AssertEx.NoExceptionThrown <NullReferenceException>(() =>
            {
                ParseWithReflection(circularQueue, methods, paramethers, results);
            });
        }
Example #15
0
        public void dequeueTest()
        {
            MyCircularQueue c = new MyCircularQueue(5);

            Assert.False(c.DeQueue());
            Assert.Equal(-1, c.Rear());
            Assert.True(c.EnQueue(1));
            Assert.Equal(1, c.Rear());
            Assert.True(c.EnQueue(2));
            Assert.Equal(2, c.Rear());
            Assert.True(c.DeQueue());
            Assert.True(c.DeQueue());
            Assert.False(c.DeQueue());
            Assert.Equal(-1, c.Front());
            Assert.Equal(-1, c.Front());
        }
        public void CircularQueuePush10ItemAndToString()
        {
            int maxSize = 10;
            var myQueue = new MyCircularQueue(maxSize);

            myQueue.Push("A");
            myQueue.Push("B");
            myQueue.Push("C");
            myQueue.Push("D");
            myQueue.Push("E");
            myQueue.Push("F");
            myQueue.Push("G");
            myQueue.Push("H");
            myQueue.Push("I");
            myQueue.Push("J");
            Assert.AreEqual("ABCDEFGHIJ", myQueue.ItemToString());
        }
        public void CircularQueuePush10ItemAndIsFull()
        {
            int maxSize = 10;
            var myQueue = new MyCircularQueue(maxSize);

            myQueue.Push("A");
            myQueue.Push("B");
            myQueue.Push("C");
            myQueue.Push("D");
            myQueue.Push("E");
            myQueue.Push("F");
            myQueue.Push("G");
            myQueue.Push("H");
            myQueue.Push("I");
            myQueue.Push("J");
            Assert.AreEqual(true, myQueue.IsFull());
        }
Example #18
0
        public void REARFRONTTest()
        {
            MyCircularQueue c = new MyCircularQueue(5);

            Assert.True(c.EnQueue(36));
            Assert.True(c.EnQueue(42));
            Assert.True(c.EnQueue(56));
            Assert.Equal(36, c.Front());
            Assert.Equal(56, c.Rear());
            Assert.True(c.DeQueue());
            Assert.Equal(42, c.Front());
            Assert.True(c.DeQueue());
            Assert.Equal(56, c.Front());
            Assert.Equal(56, c.Rear());
            Assert.True(c.DeQueue());
            Assert.Equal(-1, c.Front());
            Assert.Equal(-1, c.Rear());
        }
Example #19
0
        public void ST_MyCircularQueue_Test()
        {
            var _q = new MyCircularQueue(5);

            _q.EnQueue(1);
            _q.EnQueue(2);
            _q.EnQueue(3);
            _q.EnQueue(4);
            _q.EnQueue(5);
            Assert.False(_q.EnQueue(6));
            Assert.Equal(1, _q.Front());
            Assert.Equal(5, _q.Rear());
            Assert.True(_q.IsFull());

            Assert.True(_q.DeQueue());
            Assert.True(_q.DeQueue());
            Assert.True(_q.EnQueue(6));
            Assert.True(_q.EnQueue(7));
            Assert.True(_q.IsFull());
            Assert.False(_q.EnQueue(8));
            _q.DeQueue();
            _q.DeQueue();
            _q.DeQueue();
            _q.DeQueue();
            Assert.True(_q.Front() == 7 && _q.Rear() == 7);
            _q.DeQueue();
            Assert.True(_q.IsEmpty());


            MyCircularQueue circularQueue = new MyCircularQueue(2);

            circularQueue.EnQueue(8);
            circularQueue.EnQueue(8);
            var a = circularQueue.Front();

            circularQueue.EnQueue(4);
            circularQueue.DeQueue();

            circularQueue.EnQueue(1);
            circularQueue.EnQueue(1);
            circularQueue.DeQueue();
            Assert.True(circularQueue.Front() == 1 && circularQueue.Rear() == 1);
        }
        public void CircularQueueFullAndPopPush5Times()
        {
            int maxSize = 3;
            var myQueue = new MyCircularQueue(maxSize);

            myQueue.Push("A");
            myQueue.Push("B");
            myQueue.Push("C");
            myQueue.Pop();
            myQueue.Push("D");
            myQueue.Pop();
            myQueue.Push("E");
            myQueue.Pop();
            myQueue.Push("F");
            myQueue.Pop();
            myQueue.Push("G");

            Assert.AreEqual("EFG", myQueue.ItemToString());
        }
Example #21
0
        public void enqueueTest()
        {
            MyCircularQueue c = new MyCircularQueue(6);

            Assert.True(c.EnQueue(1));
            Assert.Equal(1, c.Rear());
            Assert.True(c.EnQueue(2));
            Assert.Equal(2, c.Rear());
            Assert.True(c.EnQueue(3));
            Assert.Equal(3, c.Rear());
            Assert.True(c.EnQueue(4));
            Assert.Equal(4, c.Rear());
            Assert.True(c.EnQueue(5));
            Assert.Equal(5, c.Rear());
            Assert.True(c.EnQueue(6));
            Assert.True(c.DeQueue());
            Assert.Equal(2, c.Front());
            Assert.True(c.EnQueue(6));
            Assert.Equal(6, c.Rear());
        }
        public void Test2()
        {
            //["MyCircularQueue","enQueue","Rear","Rear","deQueue","enQueue","Rear","deQueue","Front","deQueue","deQueue","deQueue"]
            //    [[6],[6],[],[],[],[5],[],[],[],[],[],[]]
            MyCircularQueue obj = new MyCircularQueue(6);

            bool param_1 = obj.EnQueue(6);
            int  r_1     = obj.Rear();
            int  r_2     = obj.Rear();

            bool d_1 = obj.DeQueue();

            bool param_2 = obj.EnQueue(5);
            int  r_3     = obj.Rear();
            bool d_2     = obj.DeQueue();
            int  f_1     = obj.Front();

            bool d_3 = obj.DeQueue();
            bool d_4 = obj.DeQueue();
            bool d_5 = obj.DeQueue();
        }
        public void Test1()
        {
            MyCircularQueue obj = new MyCircularQueue(3);

            bool param_1 = obj.EnQueue(1);
            bool param_2 = obj.EnQueue(2);
            bool param_3 = obj.EnQueue(3);
            bool param_4 = obj.EnQueue(4);

            bool d_1     = obj.DeQueue();
            bool param_5 = obj.EnQueue(4);

            bool d_2 = obj.DeQueue();
            bool d_3 = obj.DeQueue();
            bool d_4 = obj.DeQueue();
            bool d_5 = obj.DeQueue();
            int  f_1 = obj.Front();

            int r_1 = obj.Rear();

            bool e_1 = obj.IsEmpty();

            bool full_1 = obj.IsFull();
        }
Example #24
0
 public void increaseREARUnitTest()
 {
     int             test;
     MyCircularQueue c = new MyCircularQueue(5);
 }
Example #25
0
 public void MyCircularQueueTest()
 {
     this.circularQueue = new MyCircularQueue(6);
     Assert.True(this.circularQueue != null);
 }
Example #26
0
 public void Initialize()
 {
     this.queue = new MyCircularQueue(3);
 }
Example #27
0
        private void ParseWithReflection(MyCircularQueue circularQueue, string[] methods, string paramethersJson, string resultsJson)
        {
            var paramethers = JsonConvert.DeserializeObject <List <int[]> >(paramethersJson);
            var results     = JsonConvert.DeserializeObject <List <object> >(resultsJson);

            circularQueue = new MyCircularQueue(paramethers[0][0]);
            var thisType = circularQueue.GetType();
            int index    = 0;

            foreach (var method in methods)
            {
                if (index == 0)
                {
                    index++;
                    continue;
                }

                char[] arr = method.ToCharArray();
                arr[0] = char.ToUpper(arr[0]);
                var theMethod = thisType.GetMethod(new string(arr));
                var obj       = new object?[0] {
                };
                if (paramethers[index].Length == 1)
                {
                    object firstParam = paramethers[index][0];
                    obj = new object?[1] {
                        firstParam
                    };
                }

                var result = theMethod.Invoke(circularQueue, obj);
                if (results[index] != null)
                {
                    if (results[index].GetType() == typeof(int))
                    {
                        int res = (int)results[index];
                        Assert.AreEqual(res, (int)result);
                        if (res != (int)result)
                        {
                            throw new NullReferenceException("Failed");
                        }
                    }

                    if (results[index].GetType() == typeof(long))
                    {
                        long res = (long)results[index];
                        Assert.AreEqual(res, (int)result);
                        if (res != (int)result)
                        {
                            throw new NullReferenceException("Failed");
                        }
                    }

                    if (results[index].GetType() == typeof(bool))
                    {
                        bool res = (bool)results[index];
                        Assert.AreEqual(res, (bool)result);
                        if (res != (bool)result)
                        {
                            throw new NullReferenceException("Failed");
                        }
                    }
                }

                index++;
            }
        }