public void Serialization_Test_1() { var createOrderCommand = new CreateOrderCommand(); createOrderCommand.CustomerId = 101; List <BasketItem> items = new List <BasketItem>() { new BasketItem() { ProductId = 50, ProductName = "CellPhone", UnitPrice = 1099 }, new BasketItem() { ProductId = 67, ProductName = "Laptop", UnitPrice = 1490 }, new BasketItem() { ProductId = 772, ProductName = "Keyboard", UnitPrice = 49 } }; createOrderCommand.OrderItems = items; var json = createOrderCommand.ToJson(); JObject jobject = JObject.Parse(json); Assert.IsTrue(jobject["type"].ToString().Equals("CreateOrderCommand")); Assert.NotNull(jobject["publishDate"]); Assert.NotNull(jobject["payload"]); JObject payload = JObject.Parse(jobject["payload"].ToString()); var customerId = payload["CustomerId"].ToString(); Assert.IsTrue(customerId.Equals("101")); JArray orderItems = JArray.Parse(payload["OrderItems"].ToString()); Assert.NotNull(orderItems); Assert.IsTrue(orderItems.Count.Equals(3)); Assert.IsTrue(orderItems[0]["ProductId"].ToString().Equals("50")); Assert.IsTrue(orderItems[2]["UnitPrice"].ToString().Equals("49")); }