public void Constructor_NoException() { // assert var transmitters = new ITelemetryAttachmentTransmitter[0]; // act Action verify = () => new AttachmentTransmissionInitializer( transmitters); // arrange Assert.Null(Record.Exception(verify)); }
public void Detach_TransmitterNull() { // arrange ITelemetryAttachmentTransmitter transmitter = null; HashSet <ITelemetryAttachmentTransmitter> transmitters = new HashSet <ITelemetryAttachmentTransmitter>(); AttachmentDispatcher dispatcher = new AttachmentDispatcher(transmitters); // act Action validate = () => dispatcher.Detach(transmitter); // assert Assert.Throws <ArgumentNullException>("transmitter", validate); }
/// <summary> /// Detaches a transmitter for telemetry attachment transmission. /// </summary> /// <param name="transmitter">A attachment transmitter.</param> /// <exception cref="ArgumentNullException"> /// Throws if <paramref name="transmitter"/> is null. /// </exception> public void Detach(ITelemetryAttachmentTransmitter transmitter) { if (transmitter == null) { throw new ArgumentNullException(nameof(transmitter)); } lock (_sync) { if (_transmitters.Contains(transmitter)) { var newTransmitters = new HashSet <ITelemetryAttachmentTransmitter>( _transmitters); newTransmitters.Remove(transmitter); _transmitters = newTransmitters; } } }