У меня есть следующие настройки для Moq:
... other code to setup bigMoq object ...
var innerMoq = new Mock<IDictionary<string, double>>();
innerMoq.SetupGet(d => d["COMPLEX"]).Returns(6d);
innerMoq.SetupGet(d => d["MEDIUM"]).Returns(8d);
innerMoq.SetupGet(d => d["SIMPLE"]).Returns(10d);
bigMoq.SetupGet(d => d.ComplexityWeights).Returns(x.Object);
При запуске метода теста я передаю в качестве аргумента bigMoq.
Следующие работы:
bigMoqVar.ComplexityWeights["COMPLEX"] // correctly returns 6
Однако это не так:
bigMoqVar.ComplexityWeights.ContainsKey("COMPLEX") // returns false instead of true
Каков рекомендуемый способ поддержки ContainsKey для innerMoq?