private static void Check(
     ConsoleKey key,
     Action <IConsoleLineInput> expectedCalls,
     Action <IConsoleLineInput> inputSetup      = null,
     ConsoleInputOperationResult expectedResult = ConsoleInputOperationResult.Normal)
 {
     Check(key.ToKeyInfo(), expectedCalls, inputSetup, expectedResult);
 }
        private static void Check(
            ConsoleKeyInfo keyInfo,
            Action <IConsoleLineInput> expectedCalls,
            Action <IConsoleLineInput> inputSetup      = null,
            ConsoleInputOperationResult expectedResult = ConsoleInputOperationResult.Normal)
        {
            var reader = CreateReader();

            inputSetup?.Invoke(reader.LineInput);
            reader.ProcessKey(keyInfo).Should().Be(expectedResult);
            Received.InOrder(() => expectedCalls(reader.LineInput));
        }