public void AddValueOrDoTest() { var dictionary = new Dictionary <int, int> { { 1, 2 } }; dictionary.Count.ShouldBe(1); dictionary[1].ShouldBe(2); string show = ""; Dicts.AddValueOrDo(dictionary, 1, k => 200, (k, v) => { show = $"{k}-{v}"; }); dictionary.Count.ShouldBe(1); dictionary[1].ShouldBe(2); show.ShouldBe("1-2"); show = ""; Dicts.AddValueOrDo(dictionary, 2, k => 200, (k, v) => { show = $"{k}-{v}"; }); dictionary.Count.ShouldBe(2); dictionary[1].ShouldBe(2); dictionary[2].ShouldBe(200); show.ShouldBe(""); show = ""; dictionary.AddValueOrDo(2, k => 200, (k, v) => { show = $"{k}-{v}"; }); dictionary.Count.ShouldBe(2); dictionary[1].ShouldBe(2); dictionary[2].ShouldBe(200); show.ShouldBe("2-200"); show = ""; dictionary.AddValueOrDo(3, k => 300, (k, v) => { show = $"{k}-{v}"; }); dictionary.Count.ShouldBe(3); dictionary[1].ShouldBe(2); dictionary[2].ShouldBe(200); dictionary[3].ShouldBe(300); show.ShouldBe(""); }