public void DurationDeserializedCorrectly(string input, int expectedHours, int expectedMinutes)
        {
            JObject j = new JObject
            {
                ["duration"] = input
            };

            string dummyObjectRaw = j.ToString();

            Assert.That(() => JsonConvert.DeserializeObject <DurationDummyObject>(dummyObjectRaw), Throws.Nothing);

            DurationDummyObject dummyObject = JsonConvert.DeserializeObject <DurationDummyObject>(dummyObjectRaw);

            Assert.That(dummyObject.Duration, Is.EqualTo(new TimeSpan(expectedHours, expectedMinutes, 0)));
        }
        public void DurationSerializedCorrectly(int hours, int minutes, string expected)
        {
            DurationDummyObject dummyObject = new DurationDummyObject
            {
                Duration = new TimeSpan(hours, minutes, 0)
            };

            Assert.That(() => JsonConvert.SerializeObject(dummyObject), Throws.Nothing);

            string serializedJson = JsonConvert.SerializeObject(dummyObject);

            JObject j = JObject.Parse(serializedJson);

            Assert.That(j["duration"].ToString(), Is.EqualTo(expected));
        }