我正在创建一个单元测试来查看字典里面是否有某个键。这是程序的一部分,它涉及将键/值对添加到字典中:
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
,所以这就是我必须使用访问器的原因。