public void Constructor_NoException()
        {
            // assert
            var transmitters = new ITelemetryAttachmentTransmitter[0];

            // act
            Action verify = () => new AttachmentTransmissionInitializer(
                transmitters);

            // arrange
            Assert.Null(Record.Exception(verify));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        /// <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;
                }
            }
        }