Exemplo n.º 1
0
        public void ConstructorSetProperties()
        {
            BSSID       bssid  = GetBSSID();
            AccessPoint target = new AccessPoint(bssid);

            int expectedChannel = GetExpectedFrequency(bssid);

            int expectedDecibel = GetExpectedDecibel(bssid);

            //Channel is set correctly
            Assert.AreEqual <int>(expectedChannel, target.Channel, "AccessPoint did not return expected Channel");

            //InfrastructureMode is set correctly
            Assert.AreEqual <InfrastructureMode>(bssid.InfrastructureMode, target.InfrastructureMode, "AccessPoint did not return expected InfrastructureMode");
            //Name is set correctly
            Assert.AreEqual <string>(bssid.SSID, target.Name, "AccessPoint did not return expected Name");
            //MacAddress is set correctly
            Assert.AreEqual <int>(bssid.MacAddress.Length, target.PhysicalAddress.GetAddressBytes().Length, "AccessPoint did not return expected length for PhysicalAddress address length");

            bool addressByteMismatch = false;

            byte[] addressByteArray = target.PhysicalAddress.GetAddressBytes();

            for (int loopVariable = 0; loopVariable < bssid.MacAddress.Length; loopVariable++)
            {
                if (bssid.MacAddress[loopVariable] != addressByteArray[loopVariable])
                {
                    addressByteMismatch = true;
                    break;
                }
            }
            Assert.IsFalse(addressByteMismatch, "AccessPoint did not return expected macaddress bytes");
            //NetworkTypeInUse is set correctly
            Assert.AreEqual <NetworkType>(bssid.NetworkTypeInUse, target.NetworkTypeInUse, "AccessPoint did not return expected NetworkTypeInUse");
            //Privacy is set correctly
            Assert.AreEqual <WEPStatus>((WEPStatus)bssid.Privacy, target.Privacy, "AccessPoint did not return expected Privacy");
            //SignalStrength is set correctly
            Assert.AreEqual <int>(expectedDecibel, target.SignalStrength.Decibels, "AccessPoint did not return expected Decibels");
            //SignalStrengthInDecibels is set correctly
            Assert.AreEqual <int>(expectedDecibel, target.SignalStrengthInDecibels, "AccessPoint did not return expected SignalStrengthInDecibels");

            //SupportedRates is set correctly
            List <int> validRatesList = new List <int>();

            for (int loopVariable = 0; loopVariable < bssid.SupportedRates.Length; loopVariable++)
            {
                if (bssid.SupportedRates[loopVariable] > 0)
                {
                    validRatesList.Add(bssid.SupportedRates[loopVariable] * 500);
                }
            }
            Assert.AreEqual <int>(validRatesList.Count, target.SupportedRates.Length, "AccessPoint did not return the correct count of valid supportedrates");

            bool supportedRateByteMismatch = false;

            int[] supportedRates = target.SupportedRates;

            for (int loopVariable = 0; loopVariable < validRatesList.Count; loopVariable++)
            {
                if (validRatesList[loopVariable] != supportedRates[loopVariable])
                {
                    supportedRateByteMismatch = true;
                    break;
                }
            }
            Assert.IsFalse(supportedRateByteMismatch, "AccessPoint did not return expected supportedrates bytes");
        }