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"); }