我正在創建一個單元測試,以查看字典中是否包含某個鍵。這裏是包括添加鍵/值對的字典中的程序的一部分:如何將字典的鍵映射到變量
public void Subscribe(EvtId inEvent, EvtDelegate inCallbackMethod)
{
if(mEventMap.ContainsKey(inEvent))
{
mEventMap[inEvent] += inCallbackMethod;
}
else
{
mEventMap.Add(inEvent, inCallbackMethod);
}
}
這裏是一塊的單元測試代碼:
public void SubscribeTest()
{
EventHandlerCs target = new EventHandlerCs(eLayer.1stLayer);
target.Subscribe(EvtId.AccessChange, AccessChangeVT);
EventHandlerCs_Accessor target2 = new EventHandlerCs_Accessor(eLayer.1stLayer);
EvtId expectedEvt = EvtId.AccessChange;
EvtId actualEvt;
if (target2.mEventMap.ContainsKey(EvtId.AccessChange))
{
// ???
// Assert.AreEqual(expectedEvt, actualEvt);
}
}
如何映射的實際值密鑰/密鑰本身(一旦我在字典中使用ContainsKey
方法找到它)變爲單元測試代碼中的actualEvt
變量?
如果您需要,請隨時索取更多有關此問題的信息。
更新:有問題的字典設置爲private
,所以這就是爲什麼我必須使用Accessor。
這就是我的想法,但它不能這麼容易。必須有其他事情在這個問題上沒有明確說明。 – siride
我知道,但我認爲我應該問問:) –
我試過了,但是它的功能是獲得與密鑰相關的值。 @siride,你有什麼想法?我非常樂意澄清這個問題。 – Anthony