public void Must_execute_delegate()
            {
                var systemUnderTest = new CachedDelegate<string, int>();

                systemUnderTest.Invoke("Key1", () => 1);
                Assert.That(systemUnderTest.Invoke("Key2", () => 2), Is.EqualTo(2));
            }
            public void Must_return_cached_result()
            {
                var systemUnderTest = new CachedDelegate<string, int>();

                systemUnderTest.Invoke("Key", () => 1);

                Assert.That(systemUnderTest.Invoke("Key", () => 2), Is.EqualTo(1));
            }