コード例 #1
0
        public void TestLoadedFifo()
        {
            FifoQueue <string> fifoQueue = new FifoQueue <string>();

            fifoQueue.Push("element");
            Assert.False(fifoQueue.IsEmpty());
        }
コード例 #2
0
ファイル: QueueTests.cs プロジェクト: Arebisc/Vow-win-ski
        public void Can_Remove_Choosen_Project()
        {
            //prepare
            var queue = new FifoQueue();
            var test1 = new FrameData()
            {
                FrameNumber = 1, Id = 1
            };
            var test2 = new FrameData()
            {
                FrameNumber = 2, Id = 1
            };
            var test3 = new FrameData()
            {
                FrameNumber = 3, Id = 3
            };
            var test4 = new FrameData()
            {
                FrameNumber = 4, Id = 4
            };

            queue.AddFrame(test1);
            queue.AddFrame(test2);
            queue.AddFrame(test3);
            queue.AddFrame(test4);

            //action
            queue.RemoveChoosenProcess(1);

            //assertion
            Assert.AreEqual(queue.Size, 2);
        }
コード例 #3
0
        public void TestClearQueue()
        {
            FifoQueue <string> fifoQueue = new FifoQueue <string>();

            fifoQueue.Push("one-element");
            Assert.False(fifoQueue.IsEmpty());
        }
コード例 #4
0
        public void DfsWhenFrontierFifoQueue()
        {
            IFrontier <Node <String> > frontier     = new FifoQueue <Node <string> >();
            UninformedSearch <String>  dfsSearch    = new UninformedSearch <string>(_problem, frontier);
            SearchResult <String>      searchResult = dfsSearch.Search();

            List <String> states = searchResult.States.ToList();
            List <EdgeAction <String> > actions = searchResult.Actions.Cast <EdgeAction <String> >().ToList();

            Assert.Equal(states, new List <String> {
                "e", "f", "g", "d", "a"
            });

            Assert.Equal(actions, new List <EdgeAction <String> > {
                new EdgeAction <String>(new Edge <String>("f", "e", 1)),
                new EdgeAction <String>(new Edge <String>("g", "f", 1)),
                new EdgeAction <String>(new Edge <String>("d", "g", 1)),
                new EdgeAction <String>(new Edge <String>("a", "d", 1)),
                null
            });

            Assert.Equal(searchResult.Cost, 4);
            Assert.Equal(4, dfsSearch.ClosedList.Count);
            Assert.Equal(5, dfsSearch.OpenList.Count);
        }
コード例 #5
0
        public void SizeOnFullSet()
        {
            var queue = new FifoQueue <int>();

            queue.Enqueue(4);

            Assert.That(() => queue.Size(), Is.EqualTo(1));
        }
コード例 #6
0
        public void IsEmptyOnFullSet()
        {
            var queue = new FifoQueue <int>();

            queue.Enqueue(4);

            Assert.That(() => queue.IsEmpty(), Is.False);
        }
コード例 #7
0
        public void DequeueOnFullSet()
        {
            var queue = new FifoQueue <int>();

            queue.Enqueue(4);
            queue.Enqueue(5);

            Assert.That(() => queue.Dequeue(), Is.EqualTo(4));
        }
コード例 #8
0
        public void EnqueueTest()
        {
            FifoQueue <int> myTestObject = new FifoQueue <int>();

            for (int i = 0; i < 100; i++)
            {
                myTestObject.Enqueue(i);
            }
            Assert.AreEqual(100, myTestObject.Size);
        }
コード例 #9
0
        public void EnsureFifoOrder()
        {
            string             first     = "first";
            string             second    = "second";
            FifoQueue <string> fifoQueue = new FifoQueue <string>();

            fifoQueue.Push(first);
            fifoQueue.Push(second);
            Assert.Equal(first, fifoQueue.Pop());
            Assert.Equal(second, fifoQueue.Pop());
        }
コード例 #10
0
        public void DequeueTest()
        {
            Queue <int>     expected     = new Queue <int>();
            FifoQueue <int> myTestObject = new FifoQueue <int>();

            for (int i = 0; i < 100; i++)
            {
                expected.Enqueue(i);
                myTestObject.Enqueue(i);
            }

            for (int i = 0; i < 100; i++)
            {
                Assert.AreEqual(expected.Dequeue(), myTestObject.Dequeue(), i.ToString());
            }
        }
コード例 #11
0
ファイル: QueueTests.cs プロジェクト: Arebisc/Vow-win-ski
        public void Can_Add_And_Remove_From_Queue()
        {
            //prepare
            var queue = new FifoQueue();
            var test1 = new FrameData()
            {
                FrameNumber = 1, Id = 1
            };
            var test2 = new FrameData()
            {
                FrameNumber = 2, Id = 2
            };
            var test3 = new FrameData()
            {
                FrameNumber = 3, Id = 3
            };
            var test4 = new FrameData()
            {
                FrameNumber = 4, Id = 4
            };

            queue.AddFrame(test1);
            queue.AddFrame(test2);
            queue.AddFrame(test3);
            queue.AddFrame(test4);

            //action
            var data1 = queue.RemoveFrame();
            var data2 = queue.RemoveFrame();
            var data3 = queue.RemoveFrame();
            var data4 = queue.RemoveFrame();

            queue.AddFrame(test4);
            var data5 = queue.RemoveFrame();

            //assertion
            Assert.AreEqual(data1.Id, test1.Id);
            Assert.AreEqual(data2.Id, test2.Id);
            Assert.AreEqual(data3.Id, test3.Id);
            Assert.AreEqual(data4.Id, test4.Id);
            Assert.AreEqual(data5.Id, test4.Id);
        }
コード例 #12
0
ファイル: TaskOrdering.cs プロジェクト: anh123minh/DES
        public void OrderedByPriority()
        {
            IQueue <int> fifo = new FifoQueue <int>();
            Simulation   sim  = new Simulation();

            for (int i = 0; i < 100; i++)
            {
                Task t = new OrderingTask(sim, i);
                t.Activate(null, 123L, fifo, 100 - i - 1);
            }
            int tasksNotRun = sim.Run();

            Assert.AreEqual(0, tasksNotRun);
            Assert.AreEqual(100, fifo.Count);

            for (int v = 0; fifo.Count > 0; v++)
            {
                Assert.AreEqual(v, fifo.Dequeue());
            }
        }
コード例 #13
0
        public void FirstTest()
        {
            FifoQueue <int> a = new FifoQueue <int>(new int[] { 1, 2, 3 });
            FifoQueue <int> b = new FifoQueue <int>();
            FifoQueue <int> c = new FifoQueue <int>(7);

            FifoQueue <int>[] queues = new FifoQueue <int> [3];

            queues[0] = a; queues[1] = b; queues[2] = c;
            for (int i = 0; i < queues.Length; i++)
            {
                Console.WriteLine("====================================");
                Console.WriteLine($"Queue size = {queues[i].Count}");
                foreach (var el in queues[i])
                {
                    Console.Write(el + "   ");
                }

                queues[i].Enqueue(5);
                queues[i].Enqueue(int.MinValue);
                Console.WriteLine();

                FifoQueue <int> .Enumerator iterator = queues[i].GetEnumerator();
                while (iterator.MoveNext())
                {
                    Console.Write(iterator.Current + "   ");
                }

                Console.WriteLine($"Queue size = {queues[i].Count}");
                Console.WriteLine("Removing: ");
                Console.WriteLine(queues[i].Dequeue() + " was removed from queue");
                Console.WriteLine(queues[i].Dequeue() + " was removed from queue");

                foreach (var el in queues[i])
                {
                    Console.Write(el + "   ");
                }
                Console.WriteLine($"Queue size = {queues[i].Count}");
                Console.WriteLine();
            }
        }
コード例 #14
0
        public void IsEmptyOnEmptySet()
        {
            var queue = new FifoQueue <int>();

            Assert.That(() => queue.IsEmpty(), Is.True);
        }
コード例 #15
0
        public void TestEmptyFifo()
        {
            FifoQueue <string> fifoQueue = new FifoQueue <string>();

            Assert.True(fifoQueue.IsEmpty());
        }
コード例 #16
0
        public void SizeOnEmptySet()
        {
            var queue = new FifoQueue <int>();

            Assert.That(() => queue.Size(), Is.EqualTo(0));
        }
コード例 #17
0
        public void DequeueOnEmptySet()
        {
            var queue = new FifoQueue <int>();

            Assert.That(() => queue.Dequeue(), Throws.InstanceOf <ArgumentOutOfRangeException>());
        }