public void Indexer_ForServiceAndResultNull_Throws(
            GattServicesDictionary sut,
            IGattDeviceServiceWrapper service)
        {
            Action action = () => sut [service] = null;

            action.Should( )
            .Throw <ArgumentException> ( )
            .WithParameter("value");
        }
        public void Indexer_ForServiceAndResult_UpdatesCount(
            GattServicesDictionary sut,
            IGattDeviceServiceWrapper service,
            IGattCharacteristicsResultWrapper result)
        {
            sut [service] = result;

            sut.Count
            .Should( )
            .Be(1);
        }
        public void Indexer_ForServiceAndResult_SetsKeyAndValue(
            GattServicesDictionary sut,
            IGattDeviceServiceWrapper service,
            IGattCharacteristicsResultWrapper result)
        {
            sut [service] = result;

            sut [service]
            .Should( )
            .Be(result);
        }
        public void ReadOnlyDictionary_ForInvoked_ContainsService1(
            GattServicesDictionary sut,
            IGattDeviceServiceWrapper service,
            IGattCharacteristicsResultWrapper result)
        {
            sut [service] = result;

            sut.ReadOnlyDictionary [service]
            .Should( )
            .Be(result);
        }
        public void Clear_ForInvoked_SetsCountToZero(
            GattServicesDictionary sut,
            IGattDeviceServiceWrapper service,
            IGattCharacteristicsResultWrapper result)
        {
            sut [service] = result;

            sut.Clear( );

            sut.Count
            .Should( )
            .Be(0);
        }
        public void Clear_ForInvoked_DisposesService2(
            GattServicesDictionary sut,
            IGattDeviceServiceWrapper service1,
            IGattCharacteristicsResultWrapper result1,
            IGattDeviceServiceWrapper service2,
            IGattCharacteristicsResultWrapper result2)
        {
            sut [service1] = result1;
            sut [service2] = result2;

            sut.Clear( );

            sut [service1] = result1;
            sut [service2] = result2;
        }
        public void Dispose_ForInvoked_DisposesService2(
            GattServicesDictionary sut,
            IGattDeviceServiceWrapper service1,
            IGattCharacteristicsResultWrapper result1,
            IGattDeviceServiceWrapper service2,
            IGattCharacteristicsResultWrapper result2)
        {
            sut [service1] = result1;
            sut [service2] = result2;

            sut.Dispose( );

            service2.Received( )
            .Dispose( );
        }