public void ClearsSource()
        {
            var dictionary = new Dictionary <int, string>()
            {
                { 1, "one" },
                { 2, "two" },
                { 3, "three" }
            };

            var forwarderDictionary = new DictionaryAdapter <int, string>(
                dictionary.TryGetValue,
                () => dictionary.Keys,
                (key, value) => dictionary[key] = value,
                dictionary.Remove);

            forwarderDictionary.Clear();

            Assert.Empty(dictionary);
        }