예제 #1
0
        public void Test_dataFilterBeacon_StateFns()
        {
            // Arrange
            dataFilterBeacon bc = new dataFilterBeacon();

            int[] testArray   = new int[] { 1, 2, 3, 4, 5 };
            int[] signalArray = new int[5];
            int[] assertArray = new int[] { 1, 0, 2, 0, 3 };

            // Act
            bc.setSeq(testArray);
            for (int i = 0; i < signalArray.Length; i++)
            {
                if (i % 2 == 0)
                {
                    bc.turnOn();
                }
                else
                {
                    bc.turnOff();
                }
                signalArray[i] = bc.signal();
            }

            // Assert
            CollectionAssert.AreEqual(signalArray, assertArray);
        }
        public void Test_switchOnOff_dataFilterBeacon()
        {
            // Arrange
            uint[]           seq = new uint[] { 1, 2, 3, 4, 5 };
            uint             prime = 3;
            dataFilterBeacon obj1, obj2, obj3;
            bool             expectedActive1 = true;
            bool             expectedActive2 = true;
            bool             expectedActive3 = false;

            // Act
            obj1 = new dataFilterBeacon(0, 0, prime, seq);
            obj2 = new dataFilterBeacon(0, 1, prime, seq);
            obj3 = new dataFilterBeacon(0, 2, prime, seq);
            obj1.switchOnOff();
            obj2.switchOnOff();
            obj3.switchOnOff();
            obj3.switchOnOff();
            obj3.switchOnOff();
            obj3.switchOnOff();
            obj3.switchOnOff();
            bool active1 = obj1.getActiveStatus();
            bool active2 = obj2.getActiveStatus();
            bool active3 = obj3.getActiveStatus();

            // Assert
            Assert.AreEqual(expectedActive1, active1);
            Assert.AreEqual(expectedActive2, active2);
            Assert.AreEqual(expectedActive3, active3);
        }
        public void Test_switchMode_dataFilterBeacon()
        {
            // Arrange
            uint[]           seq = new uint[] { 1, 2, 3, 4, 5 };
            uint             prime = 3;
            dataFilterBeacon obj1, obj2, obj3;

            int[] expectedSignals1 = new int[] { 5, 2 };
            int[] expectedSignals2 = new int[] { 5, 1 };
            int[] expectedSignals3 = new int[] { 5, 2 };
            // Act
            obj1 = new dataFilterBeacon(0, 0, prime, seq);
            obj2 = new dataFilterBeacon(1, 0, prime, seq);
            obj3 = new dataFilterBeacon(2, 0, prime, seq);
            obj1.switchOnOff();
            obj2.switchOnOff();
            obj3.switchOnOff();
            obj1.switchMode();
            obj2.switchMode();
            obj3.switchMode();
            int[] signals1 = obj1.filterSignal();
            int[] signals2 = obj2.filterSignal();
            int[] signals3 = obj3.filterSignal();
            // Assert
            CollectionAssert.AreEqual(expectedSignals1, signals1);
            CollectionAssert.AreEqual(expectedSignals2, signals2);
            CollectionAssert.AreEqual(expectedSignals3, signals3);
        }
        public void Test_reset_dataFilterBeacon()
        {
            // Arrange
            uint[]           seq = new uint[] { 1, 2, 3, 4, 5 };
            uint             prime = 3;
            dataFilterBeacon obj1, obj2, obj3;

            int[] expectedSignals1 = { 5, 5 };
            int[] expectedSignals2 = { 5, 6 };
            int[] expectedSignals3 = { 5, 4 };
            // Act
            obj1 = new dataFilterBeacon(0, 0, prime, seq);
            obj2 = new dataFilterBeacon(1, 0, prime, seq);
            obj3 = new dataFilterBeacon(2, 0, prime, seq);
            obj1.switchOnOff();
            obj2.switchOnOff();
            obj3.switchOnOff();
            int[] signals1 = obj1.filterSignal();
            int[] signals2 = obj2.filterSignal();
            int[] signals3 = obj3.filterSignal();
            obj1.reset();
            obj2.reset();
            obj3.reset();
            int[] signals4 = obj1.filterSignal();
            int[] signals5 = obj2.filterSignal();
            int[] signals6 = obj3.filterSignal();
            // Assert
            CollectionAssert.AreEqual(expectedSignals1, signals1);
            CollectionAssert.AreEqual(expectedSignals2, signals2);
            CollectionAssert.AreEqual(expectedSignals3, signals3);
            CollectionAssert.AreEqual(expectedSignals1, signals4);
            CollectionAssert.AreEqual(expectedSignals2, signals5);
            CollectionAssert.AreEqual(expectedSignals3, signals6);
        }
        public void Test_emitSignal_dataFilterBeacon()
        {
            // Arrange
            uint[]           seq = new uint[] { 1, 2, 3, 4, 5 };
            uint             prime = 3;
            dataFilterBeacon obj1, obj2, obj3;
            int expectedSignal1                = 5;
            int expectedSignal2_SecondObj2Emit = -4;
            int expectedSignal3                = 15;

            // Act
            obj1 = new dataFilterBeacon(0, 0, prime, seq);
            obj2 = new dataFilterBeacon(0, 1, prime, seq);
            obj3 = new dataFilterBeacon(0, 2, prime, seq);
            obj1.switchOnOff();
            obj2.switchOnOff();
            obj3.switchOnOff();
            int signal1 = obj1.emitSignal();

            obj2.emitSignal();
            int signal2 = obj2.emitSignal();
            int signal3 = obj3.emitSignal();

            // Assert
            Assert.AreEqual(expectedSignal1, signal1);
            Assert.AreEqual(expectedSignal2_SecondObj2Emit, signal2);
            Assert.AreEqual(expectedSignal3, signal3);
        }
예제 #6
0
        public void Test_dataFilterBeacon_GetDefaultMode()
        {
            // Arrange/Act
            dataFilterBeacon d = new dataFilterBeacon();

            // Assert
            Assert.IsFalse(d.getMode());
        }
예제 #7
0
        public void Test_dataFilterBeacon_SetMode()
        {
            // Arrange
            dataFilterBeacon d = new dataFilterBeacon();

            // Act
            d.setMode(true);

            // Assert
            Assert.IsTrue(d.getMode());
        }
예제 #8
0
        public void Test_dataFilterBeacon_ConstructorPrime()
        {
            // Arrange/Act
            dataFilterBeacon d = new dataFilterBeacon(5);

            int[] testArray = new int[1] {
                5
            };

            // Assert
            CollectionAssert.AreEqual(d.filter(), testArray);
        }
예제 #9
0
        public void Test_dataFilterBeacon_SetPrimeWithoutPrime()
        {
            // Arrange
            dataFilterBeacon d = new dataFilterBeacon(17);

            int[] testArray = new int[1] {
                17
            };

            // Act
            d.setPrime(18);

            // Assert
            CollectionAssert.AreEqual(d.filter(), testArray);
        }
예제 #10
0
        public void Test_dataFilterBeacon_ScrambleOddLengthSeq()
        {
            // Arrange
            dataFilterBeacon d = new dataFilterBeacon();

            int[] testArray = new int[5] {
                29, 14, 34, 73, 5
            };
            int[] assertArray = new int[5] {
                14, 29, 34, 73, 5
            };

            // Act
            int[] dScramble = d.scramble(testArray);

            // Assert
            CollectionAssert.AreEqual(dScramble, assertArray);
        }
예제 #11
0
        public void Test_dataFilterBeacon_ScrambleLargeMode()
        {
            // Arrange
            dataFilterBeacon d = new dataFilterBeacon();

            d.setMode(true);
            int[] testArray = new int[6] {
                29, 14, 34, 73, 5, 9
            };
            int[] assertArray = new int[6] {
                29, 14, 73, 34, 9, 5
            };

            // Act
            int[] dScramble = d.scramble(testArray);

            // Assert
            CollectionAssert.AreEqual(dScramble, assertArray);
        }
예제 #12
0
        public void Test_dataFilterBeacon_FilterSmallMode()
        {
            // Arrange
            dataFilterBeacon d = new dataFilterBeacon(23);

            int[] testArray = new int[7] {
                25, 14, 29, 40, 8, 59, 2
            };
            int[] assertArray = new int[3] {
                14, 8, 2
            };

            // Act
            d.scramble(testArray); // Using scramble to set array, ignoring its output in this test
            int[] dFilter = d.filter();

            // Assert
            CollectionAssert.AreEqual(dFilter, assertArray);
        }
예제 #13
0
        public void Test_dataFilterBeacon_FilterLargeMode()
        {
            // Arrange
            dataFilterBeacon d = new dataFilterBeacon(41);

            d.setMode(true);
            int[] testArray = new int[7] {
                59, 24, 37, 15, 63, 104, 2
            };
            int[] assertArray = new int[3] {
                59, 63, 104
            };

            // Act
            d.scramble(testArray);
            int[] dFilter = d.filter();

            // Assert
            CollectionAssert.AreEqual(dFilter, assertArray);
        }
예제 #14
0
        public void Test_dataFilterBeacon_ChargeFns()
        {
            // Arrange
            dataFilterBeacon bc = new dataFilterBeacon();

            int[] testArray   = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            int[] signalArray = new int[11];
            int[] assertArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0 };

            // Act
            bc.setSeq(testArray);
            for (int i = 0; i < signalArray.Length; i++)
            {
                signalArray[i] = bc.signal();
            }
            bc.recharge(5);

            // Assert
            Assert.AreEqual(bc.getCharge(), 5);
            CollectionAssert.AreEqual(signalArray, assertArray);
        }