public void PopulateFromReflectorWithAllOptions()
        {
            const string xml = @"
<checkHttpStatus>
   <description>ADesc</description>
      <httpRequest uri=""http://example.com/""/>
      
      <successStatusCodes>200,203</successStatusCodes>
      <retries>7</retries>
      <retryDelay units=""seconds"">5</retryDelay>
      <taskTimeout units=""minutes"">5</taskTimeout>
      <includeContent>true</includeContent>
</checkHttpStatus>";

            HttpStatusTask task = (HttpStatusTask)NetReflector.Read(xml);

            Assert.AreEqual("ADesc", task.Description);
            Assert.NotNull(task.RequestSettings, "Request settings are required");

            Assert.AreEqual("200,203", task.SuccessStatusCodes);
            Assert.AreEqual(7, task.Retries);
            Assert.AreEqual(5000, task.RetryDelay.Millis);
            Assert.IsTrue(task.HasTimeout);
            Assert.AreEqual(300000, task.Timeout.Millis);
            Assert.AreEqual(true, task.IncludeContent);
        }
        public void PopulateFromReflectorWithOnlyRequiredOptions()
        {
            const string xml = @"
<checkHttpStatus>
      <httpRequest uri=""http://example.com/""/>
</checkHttpStatus>";

            HttpStatusTask task = (HttpStatusTask)NetReflector.Read(xml);

            Assert.IsNull(task.Description);
            Assert.NotNull(task.RequestSettings, "Request settings are required");

            Assert.AreEqual("200", task.SuccessStatusCodes);
            Assert.AreEqual(3, task.Retries);

            Assert.IsFalse(task.HasTimeout);
            Assert.IsNull(task.Timeout);

            Assert.IsFalse(task.IncludeContent);
        }