public void Test_DbAntennaNoiseRadioTapField () { DbAntennaNoiseRadioTapField field = new DbAntennaNoiseRadioTapField(0xAB); var bytes = new byte[field.Length]; field.CopyTo(bytes, 0); DbAntennaNoiseRadioTapField recreatedField = new DbAntennaNoiseRadioTapField(new BinaryReader (new MemoryStream(bytes))); Assert.AreEqual(field.AntennaNoisedB, recreatedField.AntennaNoisedB); }
public void Test_DbAntennaNoiseRadioTapField() { DbAntennaNoiseRadioTapField field = new DbAntennaNoiseRadioTapField(0xAB); var bytes = new Byte[field.Length]; field.CopyTo(bytes, 0); DbAntennaNoiseRadioTapField recreatedField = new DbAntennaNoiseRadioTapField(new BinaryReader(new MemoryStream(bytes))); Assert.AreEqual(field.AntennaNoisedB, recreatedField.AntennaNoisedB); }
public void ConstructFrameWithSinglePresenceField() { var p = new RadioPacket(); var expectedLength = 8; Assert.AreEqual(expectedLength, p.Length); var flagsField = new FlagsRadioTapField(); flagsField.Flags |= RadioTapFlags.FcsIncludedInFrame; flagsField.Flags |= RadioTapFlags.WepEncrypted; p.Add(flagsField); expectedLength += flagsField.Length; Assert.AreEqual(expectedLength, p.Length); //We will add the noise field before the signal field. This is not the order required //for radiotap and so will test that the fields are correctly reordered when written var dbAntennaNoiseField = new DbAntennaNoiseRadioTapField { AntennaNoisedB = 33 }; p.Add(dbAntennaNoiseField); expectedLength += dbAntennaNoiseField.Length; Assert.AreEqual(expectedLength, p.Length); var dbAntennaSignalField = new DbAntennaSignalRadioTapField { SignalStrengthdB = 44 }; p.Add(dbAntennaSignalField); expectedLength += dbAntennaSignalField.Length; Assert.AreEqual(expectedLength, p.Length); //we will just put a single byte of data because we dont want it to be parsed into //an 802.11 frame in this test p.PayloadData = new byte[] { 0xFF }; var frameBytes = p.Bytes; var recreatedFrame = Packet.ParsePacket(LinkLayers.Ieee80211Radio, frameBytes) as RadioPacket; Assert.IsNotNull(p[RadioTapType.Flags]); Assert.IsNotNull(p[RadioTapType.DbAntennaSignal]); Assert.IsNotNull(p[RadioTapType.DbAntennaNoise]); Assert.AreEqual(new byte[] { 0xFF }, recreatedFrame.PayloadData); }