public void Build()
{
const String publishCompleteMessage = "========== Build: 302 succeeded, 41 failed, 16 up-to-date, 5 skipped ==========\r\n";
var span = Utils.CreateSpan(publishCompleteMessage);
BuildResultData data;
var parser = new BuildResultParser();
var parsed = parser.TryParse(span, out data);
Assert.IsTrue(parsed);
Assert.IsNotNull(data);
Assert.IsTrue(data.Succeeded.HasValue);
Assert.IsTrue(data.Failed.HasValue);
Assert.IsTrue(data.UpToDate.HasValue);
Assert.IsTrue(data.Skipped.HasValue);
Assert.AreEqual(302, data.Succeeded);
Assert.AreEqual(41, data.Failed);
Assert.AreEqual(16, data.UpToDate);
Assert.AreEqual(5, data.Skipped);
Assert.AreEqual(new Span(18, 3), data.Succeeded.Span);
Assert.AreEqual(new Span(33, 2), data.Failed.Span);
Assert.AreEqual(new Span(44, 2), data.UpToDate.Span);
Assert.AreEqual(new Span(59, 1), data.Skipped.Span);
}