public void GetMessageDetailsIsDeserialised() { var client = new MockWebClient(); client.Responses.Add(@" {""status"":""sent"",""body"":""Hi,\r\nHere's your survey: [SurveyLink]\r\nUnsubscribe: [OptOutLink]\r\n[FooterLink]"",""recipient_status"":null,""is_branding_enabled"":true,""href"":""https:\/\/api.surveymonkey.net\/v3\/collectors\/85470742\/messages\/29296390"",""is_scheduled"":true,""scheduled_date"":""2016-05-10T16:28:06+00:00"",""date_created"":""2016-05-10T16:23:04+00:00"",""type"":""invite"",""id"":""29296390"",""subject"":""MySubjectLine""} "); var api = new SurveyMonkeyApi("TestApiKey", "TestOAuthToken", client); var result = api.GetMessageDetails(85470742, 29296390); Assert.AreEqual("Hi,\r\nHere\'s your survey: [SurveyLink]\r\nUnsubscribe: [OptOutLink]\r\n[FooterLink]", result.Body); Assert.AreEqual(new DateTime(2016, 5, 10, 16, 23, 4, DateTimeKind.Utc), result.DateCreated); Assert.AreEqual("https://api.surveymonkey.net/v3/collectors/85470742/messages/29296390", result.Href); Assert.AreEqual(29296390, result.Id); Assert.IsTrue(result.IsBrandingEnabled); Assert.IsTrue(result.IsScheduled); Assert.AreEqual(new DateTime(2016, 5, 10, 16, 28, 6, DateTimeKind.Utc), result.ScheduledDate); Assert.AreEqual(MessageStatus.Sent, result.Status); Assert.AreEqual(MessageType.Invite, result.Type); }