Exemple #1
0
        public void TestDivideQueueByFrequency()
        {
            //stworzenie bufora
            Buffer b = new Buffer();

            //i jego kolejki
            b.queue = generatePackageQueueFrequencies();

            //sortowanie po adresach IP
            b.queue = Buffer.sortQueueByFrequency(ref b.queue);

            //Podzial na grupy z konkretnymi adresami IP
            List <Queue <byte[]> > listOfQueues = Buffer.divideSortedQueueByFrequency(ref b.queue);

            //Wyciagniecie kolejek w postaci tablic bo wygodniej
            var array0 = listOfQueues[0].ToArray();
            var array1 = listOfQueues[1].ToArray();
            var array2 = listOfQueues[2].ToArray();

            //Sprawdzenie, czy czestotliwosci sie dobrze przydzielily
            Assert.AreEqual(1, Package.extractFrequency(array0[0]));
            Assert.AreEqual(1, Package.extractFrequency(array0[1]));
            Assert.AreEqual(2, Package.extractFrequency(array1[0]));
            Assert.AreEqual(2, Package.extractFrequency(array1[1]));
            Assert.AreEqual(3, Package.extractFrequency(array2[0]));
            Assert.AreEqual(3, Package.extractFrequency(array2[1]));
            Assert.AreEqual(3, Package.extractFrequency(array2[2]));
        }
Exemple #2
0
        public void testSortQueue()
        {
            Buffer b = new Buffer();

            //generacja losowej kolejki
            b.queue = generatePackageQueueFrequencies();

            //sortowanie po czestotliwosci
            b.queue = Buffer.sortQueueByFrequency(ref b.queue);

            //lista z bajtami
            List <byte[]> packageBytes = new List <byte[]>();

            packageBytes.AddRange(b.queue);

            //Adresy IP powinny byc dobrze powpisywane
            Assert.AreEqual(1, Package.extractFrequency(packageBytes[0]));
            Assert.AreEqual(1, Package.extractFrequency(packageBytes[1]));
            Assert.AreEqual(2, Package.extractFrequency(packageBytes[2]));
            Assert.AreEqual(2, Package.extractFrequency(packageBytes[3]));
            Assert.AreEqual(3, Package.extractFrequency(packageBytes[4]));
            Assert.AreEqual(3, Package.extractFrequency(packageBytes[5]));
            Assert.AreEqual(3, Package.extractFrequency(packageBytes[6]));
        }
Exemple #3
0
        public void testSort()
        {
            var array = generatePackageQueue().ToArray();

            Queue <byte[]> queue = new Queue <byte[]>();

            Package P;

            //tabela wartosci pola w naglowku, nieposortowane
            short[] shorts = { 5, 3, 6, 1, 2, 4, 0 };

            //Tworzenie nieposortowanej tablicy(wedlug nru pakietu)
            for (int i = 0; i < shorts.Length; i++)
            {
                P = new Package(array[i]);
                P.changePackageNumber(shorts[i]);
                array[i] = P.toBytes();
                queue.Enqueue(array[i]);
            }

            //sortowanie
            queue = Buffer.sortQueueByPackageNumber(ref queue);

            //sprawdzanie, czy sie posortowaly
            for (int i = 0; i < 7; i++)
            {
                Assert.AreEqual(i, Package.extractPackageNumber(queue.Dequeue()));
            }

            //ID
            //Tworzenie nieposortowanej tablicy(wedlug ID)
            for (int i = 0; i < shorts.Length; i++)
            {
                P = new Package(array[i]);
                P.changeID(shorts[i]);
                array[i] = P.toBytes();
                queue.Enqueue(array[i]);
            }

            //sortowanie po ID
            queue = Buffer.sortQueueByID(ref queue);

            //srawdzanie, czy sie posortowaly
            for (int i = 0; i < 7; i++)
            {
                Assert.AreEqual(i, Package.extractPackageNumber(queue.Dequeue()));
            }

            //Czestotliwosc
            //Tworzenie nieposortowanej tablicy(wedlug czestotliwosci)
            for (int i = 0; i < shorts.Length; i++)
            {
                P = new Package(array[i]);
                P.changeFrequency(shorts[i]);
                array[i] = P.toBytes();
                queue.Enqueue(array[i]);
            }

            //sortowanie po czestotliwosci
            queue = Buffer.sortQueueByFrequency(ref queue);

            //srawdzanie, czy sie posortowaly
            for (int i = 0; i < 7; i++)
            {
                Assert.AreEqual(i, Package.extractPackageNumber(queue.Dequeue()));
            }
        }