private static async Task <bool> VisitFriend() { return(await Task.Run(async() => { var friends = await _friendsListService.GetFriendsList(); Console.WriteLine($"{Environment.NewLine}Selecione um amigo para visitar!(para selecionar pressione o número que o representa)"); friends.ForEach(friend => { Console.WriteLine($" {friend.Id} - {friend.Nome} - Latitude: {friend.Coordinates.Latitude} - Longitude: {friend.Coordinates.Longitude}"); }); Friend selectedFriend = null; while (selectedFriend == null) { var selectedFriendId = Console.ReadKey().KeyChar.ToString(); selectedFriend = friends.FirstOrDefault(x => x.Id.ToString() == selectedFriendId); if (selectedFriend == null) { Console.WriteLine($"{Environment.NewLine}Por favor, selecione um amigo entre os disponíveis na lista."); } } var nearestFriends = await _nearestFriendsService.GetNearestFriends(selectedFriend); Console.WriteLine($"{Environment.NewLine}Os amigos mais próximos de {selectedFriend.Nome} são:"); nearestFriends.ForEach(nearestFriend => { Console.WriteLine($"{nearestFriend.Nome} - distância: {selectedFriend.Coordinates.DistanceTo(nearestFriend.Coordinates)}"); }); Console.WriteLine($"{Environment.NewLine} Vai visitar outro amigo? s/n"); var answer = Console.ReadKey().KeyChar; if (answer == 's') { return true; } else { return false; } })); }
public void AssureReferenceFriendIsNotPartOfTheResult() { Task.Run(async() => { var mockFriendRepository = new Mock <IFriendRepository>(); mockFriendRepository.Setup(x => x.GetAllLazy()).Returns(() => getDefaultFriendList()); var friends = await getDefaultFriendList(); var friend = friends.OrderBy(x => Guid.NewGuid()).FirstOrDefault(); var nearestFriendsService = new NearestFriendsService(mockFriendRepository.Object); var nearestFriends = await nearestFriendsService.GetNearestFriends(friend); Assert.AreEqual(false, nearestFriends.All(x => x.Id != friend.Id)); }); }