Exemplo n.º 1
0
        public void FindStationShouldGetAndReturnSuggestionsForUserInput()
        {
            var userInput   = "BRI";
            var suggestions = new Suggestions(new List <string> {
                "Brighton"
            }, new List <char> {
                'g'
            });

            _stationFinder.Setup(sf => sf.GetSuggestions(userInput)).Returns(suggestions);

            var result = _ticketMachine.FindStation(userInput);

            Assert.Equal(suggestions, result);
        }
Exemplo n.º 2
0
        public void Run()
        {
            var userInput = "";

            while (true)
            {
                Console.Out.WriteLine($"SEARCH STATION:{userInput.ToUpperInvariant()}");
                var userChar = Console.ReadKey(true).KeyChar;

                if (userChar == '\u001b')
                {
                    userInput = "";
                }
                else if (IsValidChar(userChar))
                {
                    userInput += userChar;
                    var suggestions = _ticketMachine.FindStation(userInput);

                    Console.Out.WriteLine($"-----STATIONS:-----{Environment.NewLine}{suggestions.StationsToString()}{Environment.NewLine}");
                    Console.Out.WriteLine($"-----NEXT LETTERS:-----{Environment.NewLine}{suggestions.NextLettersToString()}{Environment.NewLine}");
                    Console.Out.WriteLine($"PRESS 'ESC' TO CLEAR SEARCH AND START AGAIN");
                }
            }
        }