public void AddValueOrUpdateTest() { var dictionary = new Dictionary <int, int> { { 1, 2 } }; dictionary.Count.ShouldBe(1); dictionary[1].ShouldBe(2); Dicts.AddValueOrUpdate(dictionary, 1, k => 200, (k, v) => v * 111); dictionary.Count.ShouldBe(1); dictionary[1].ShouldBe(222); Dicts.AddValueOrUpdate(dictionary, 2, k => 200, (k, v) => v * 111); dictionary.Count.ShouldBe(2); dictionary[1].ShouldBe(222); dictionary[2].ShouldBe(200); dictionary.AddValueOrUpdate(2, k => 200, (k, v) => v * 111); dictionary.AddValueOrUpdate(3, k => 300, (k, v) => v * 111); dictionary.Count.ShouldBe(3); dictionary[1].ShouldBe(222); dictionary[2].ShouldBe(22200); dictionary[3].ShouldBe(300); }