public void Deserialize_ValidJson_InstantiatesNewObjectFromJson() { var json = "{\"latitude\": \"52.986375\", \"user_id\": 12, \"name\": \"Christina McArdle\", \"longitude\": \"-6.043701\"}"; var customer = CustomerContract.Deserialize(json); Assert.IsNotNull(customer); Assert.AreEqual(52.986375, customer.Latitude); Assert.AreEqual(12, customer.UserId); Assert.AreEqual("Christina McArdle", customer.Name); Assert.AreEqual(-6.043701, customer.Longitude); }
static void Main(string[] args) { if (args.Length < 1) { Console.WriteLine("Please specify the path to the input file in the command line arguments."); return; } if (string.IsNullOrWhiteSpace(args[0]) || !File.Exists(args[0])) { Console.WriteLine("Input file not found."); return; } try { var lines = File.ReadAllLines(args[0]); var customers = new List <CustomerContract>(); var calculator = new Calculator(); var dublinOfficeLocation = new RadianCoordinate(Calculator.ConvertDegreesToRadians(53.339428), Calculator.ConvertDegreesToRadians(-6.257664)); foreach (var line in lines) { try { var customer = CustomerContract.Deserialize(line); if (customer.IsValid()) { customers.Add(customer); } } catch (JsonSerializationException e) { continue; } catch (ArgumentNullException e) { continue; } catch (ArgumentException e) { continue; } } var invitationManager = new InvitationManager(calculator, dublinOfficeLocation); var customersToInvite = invitationManager.DetermineCustomersToInvite(customers, 100d); Console.WriteLine("The following customers should be invited:"); foreach (var customer in customersToInvite) { Console.WriteLine($"{customer.Name} ({customer.UserId})"); } } catch (Exception e) { Console.WriteLine($"An unexpected error occurred: {e.Message}"); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }
public void Deserialize_NullJson_ThrowsArgumentExcption() { string json = null; var customer = CustomerContract.Deserialize(json); }
public void Deserialize_EmptyJson_ThrowsArgumentException() { var json = string.Empty; var customer = CustomerContract.Deserialize(json); }
public void Deserialize_JsonMissingName_ThrowsJsonSerializationException() { var json = "{\"latitude\": \"52.986375\", \"user_id\": 12, \"longitude\": \"-6.043701\"}"; var customer = CustomerContract.Deserialize(json); }
public void Deserialize_JsonMissingUserId_ThrowsJsonSerializationException() { var json = "{\"latitude\": \"52.986375\", \"name\": \"Christina McArdle\", \"longitude\": \"-6.043701\"}"; var customer = CustomerContract.Deserialize(json); }