Если я правильно читаю ваш вопрос, у вас, похоже, такая ситуация?
public void DoTheCalculation(ICalculator calculator) {
calculator.Calculate(this /* Or any other object */);
}
В этом случае вы можете утверждать аргументы, передаваемые интерфейсу Mocked, используя метод It.Is, который принимает предикат:
[TestMethod]
public void DoTheCalculation_DoesWhateverItShouldDo() {
Mock<ICalculator> calcMock = new Mock<ICalculator>();
CalculationParameters params = new CalculationParmeters(1, 2);
params.DoTheCalculation(calcMock.Object);
calcMock.Verify(c => c.Calculate(It.Is<CalculationParameters>(
c => c.LeftHandSide == 1
&& c.RightHandSide == 2));
}