public void CanTryGetValue()
        {
            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);

            Assert.True(forwarderDictionary.TryGetValue(3, out var result));
            Assert.Equal("three", result);
        }