Тестовые вызовы приватных методов с moq

У меня есть следующий метод, который мне нужно проверить с помощью Moq. Проблема заключается в том, что каждый метод, вызываемый в операторе switch, является приватным, включая PublishMessage в конце. Но этот метод (ProcessMessage) является публичным. Как я могу проверить это, чтобы убедиться, что звонки выполняются в зависимости от параметра? Обратите внимание, что яЯ не проверяю частные методы, я просто хочу проверить "звонки», Я'Я хотел бы смоделировать эти частные методы и проверить, вызваны ли они с помощью программы установки, но Moq не поддерживает фиктивные частные методы.

public void ProcessMessage(DispenserMessageDataContract dispenserMessage)
    {
        var transOptions = new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted };
        using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew, transOptions))
        {
            switch (dispenserMessage.Type)
            {
                case DispenserMessageType.AckNack:
                    UpdateAckNackMessageQueue(dispenserMessage);
                    break;

                case DispenserMessageType.FillRequest:
                    CreateFillRequestMessageQueue(dispenserMessage);
                    break;

                case DispenserMessageType.FillEvent:
                    UpdateFillEventMessageQueue(dispenserMessage);
                    break;

                case DispenserMessageType.RequestInventory:
                    CreateRequestInventoryMessageQueue(dispenserMessage);
                    break;

                case DispenserMessageType.ReceiveInventory:
                    CreateReceiveInventoryMessageQueue(dispenserMessage);
                    break;
            }

            scope.Complete();
        }

        PublishMessage(dispenserMessage);
    }

Ответы на вопрос(4)

Ваш ответ на вопрос