public void ShouldBeInitializedFromDictionary()
        {
            var input = new Dictionary<int, int>
            {
                {1, 1},
                {2, 2},
                {3, 3}
            };
            var dictionary = input.WithDefaultValue(10);

            Assert.Equal(10, dictionary[0]);
            Assert.Equal(1, dictionary[1]);
            Assert.Equal(2, dictionary[2]);
            Assert.Equal(3, dictionary[3]);
            Assert.Equal(10, dictionary[4]);
        }
 public void WithDefaultValue_ReturnsDefaultableDictionary()
 {
     var dict = new Dictionary<int, string>
                    {
                        { 1, "one" },
                        { 2, "two" },
                        { 3, "three" }
                    };
     var defaultableDict = dict.WithDefaultValue("not found");
     Assert.IsNotNull(defaultableDict);
     Assert.IsInstanceOf<DefaultableDictionary<int, string>>(defaultableDict);
 }