public void SimpleCaseTest() { var test1CalledCount = 0; var testObject = new TestViewModel(0, () => test1CalledCount++, s => {}); var binder = new MethodBinder(); binder.Invoke((object)testObject, "Test1"); test1CalledCount.Is(1); binder.Invoke((object)testObject, "Test1"); test1CalledCount.Is(2); //System.Threading.Thread.Sleep(3000); //キャッシュが更新されないか目視 testObject = new TestViewModel(0, () => test1CalledCount++, s => { }); binder.Invoke((object)testObject, "Test1"); test1CalledCount.Is(3); binder.Invoke((object)testObject, "Test1"); test1CalledCount.Is(4); //System.Threading.Thread.Sleep(3000); //キャッシュ辞書からメソッドキャッシュを取得するか目視 binder = new MethodBinder(); binder.Invoke((object)testObject, "Test1"); test1CalledCount.Is(5); binder.Invoke((object)testObject, "Test1"); test1CalledCount.Is(6); }