Example #1
0
        public void StartNewStartsANewContext()
        {
            var path = Path.Combine(
                Environment.CurrentDirectory,
                "Test",
                "20100101120101");
            var writerMock = new Mock <XmlWriter>(MockBehavior.Strict);

            writerMock.Setup(w => w.WriteStartElement(null, "project", null)).Verifiable();
            writerMock.MockWriteAttributeString("name", "Test");
            writerMock.MockWriteElementString("start", "2010-01-01T12:01:01");
            var clockMock = new Mock <IClock>(MockBehavior.Strict);

            clockMock.Setup(c => c.Now).Returns(new DateTime(2010, 1, 1, 12, 1, 1));
            var fileSystemMock = new Mock <IFileSystem>(MockBehavior.Strict);

            fileSystemMock.Setup(fs => fs.EnsureFolderExists(path));
            fileSystemMock.Setup(fs => fs.CreateXmlWriter(Path.Combine(path, "build.log"))).Returns(writerMock.Object);
            var factory = new TaskExecutionFactory
            {
                Clock      = clockMock.Object,
                FileSystem = fileSystemMock.Object
            };
            var project = new Project("Test");
            var request = new IntegrationRequest("Testing");
            var actual  = factory.StartNew(project, request);

            Assert.IsNotNull(actual);
            Assert.AreSame(project, actual.Project);
            Assert.AreSame(request, actual.Request);
            writerMock.Verify();
        }
        public void StartChildStartsANewChildContext()
        {
            var writerMock = new Mock <XmlWriter>(MockBehavior.Strict);

            writerMock.Setup(w => w.WriteStartElement(null, "task", null)).Verifiable();
            writerMock.MockWriteAttributeString("name", "TestComment");
            writerMock.MockWriteAttributeString("type", "Comment");
            writerMock.MockWriteElementString("start", "2010-01-01T12:01:01");
            var clockMock = new Mock <IClock>(MockBehavior.Strict);

            clockMock.Setup(c => c.Now).Returns(new DateTime(2010, 1, 1, 12, 1, 1));
            var task    = new Comment("TestComment");
            var context = new TaskExecutionContext(
                new TaskExecutionParameters
            {
                XmlWriter = writerMock.Object,
                Clock     = clockMock.Object
            });
            var child = context.StartChild(task);

            Assert.IsNotNull(child);
            Assert.AreSame(context, child.Parent);
            Assert.AreSame(context.ModificationSets, child.ModificationSets);
            writerMock.Verify();
        }
 public void StartNewStartsANewContext()
 {
     var path = Path.Combine(
         Environment.CurrentDirectory,
         "Test",
         "20100101120101");
     var writerMock = new Mock<XmlWriter>(MockBehavior.Strict);
     writerMock.Setup(w => w.WriteStartElement(null, "project", null)).Verifiable();
     writerMock.MockWriteAttributeString("name", "Test");
     writerMock.MockWriteElementString("start", "2010-01-01T12:01:01");
     var clockMock = new Mock<IClock>(MockBehavior.Strict);
     clockMock.Setup(c => c.Now).Returns(new DateTime(2010, 1, 1, 12, 1, 1));
     var fileSystemMock = new Mock<IFileSystem>(MockBehavior.Strict);
     fileSystemMock.Setup(fs => fs.EnsureFolderExists(path));
     fileSystemMock.Setup(fs => fs.CreateXmlWriter(Path.Combine(path, "build.log"))).Returns(writerMock.Object);
     var factory = new TaskExecutionFactory
                       {
                           Clock = clockMock.Object,
                           FileSystem = fileSystemMock.Object
                       };
     var project = new Project("Test");
     var request = new IntegrationRequest("Testing");
     var actual = factory.StartNew(project, request);
     Assert.IsNotNull(actual);
     Assert.AreSame(project, actual.Project);
     Assert.AreSame(request, actual.Request);
     writerMock.Verify();
 }
 public void CompleteDoesNothingIfAlreadyClosed()
 {
     var action = 0;
     var writerMock = new Mock<XmlWriter>(MockBehavior.Strict);
     writerMock.Setup(w => w.WriteEndDocument()).Callback(() => action++);
     writerMock.Setup(w => w.Close()).Callback(() => action++);
     writerMock.MockWriteElementString("finish", "2010-01-01T12:01:01");
     writerMock.MockWriteElementString("status", "Success");
     var clockMock = new Mock<IClock>(MockBehavior.Strict);
     clockMock.Setup(c => c.Now).Returns(new DateTime(2010, 1, 1, 12, 1, 1));
     var context = new TaskExecutionContext(
         new TaskExecutionParameters
             {
                 XmlWriter = writerMock.Object,
                 Clock = clockMock.Object
             });
     context.Complete();
     context.Complete();
     Assert.AreEqual(2, action);
 }
 public void CompleteClosesWriter()
 {
     var writerMock = new Mock<XmlWriter>(MockBehavior.Strict);
     writerMock.Setup(w => w.WriteEndDocument()).Verifiable();
     writerMock.Setup(w => w.Close()).Verifiable();
     writerMock.MockWriteElementString("finish", "2010-01-01T12:01:01");
     writerMock.MockWriteElementString("status", "Success");
     var clockMock = new Mock<IClock>(MockBehavior.Strict);
     clockMock.Setup(c => c.Now).Returns(new DateTime(2010, 1, 1, 12, 1, 1));
     var context = new TaskExecutionContext(
         new TaskExecutionParameters
             {
                 XmlWriter = writerMock.Object,
                 Clock = clockMock.Object
             });
     Assert.IsFalse(context.IsCompleted);
     context.Complete();
     writerMock.Verify();
     Assert.IsTrue(context.IsCompleted);
 }
        public void CompleteDoesNothingIfAlreadyClosed()
        {
            var action     = 0;
            var writerMock = new Mock <XmlWriter>(MockBehavior.Strict);

            writerMock.Setup(w => w.WriteEndDocument()).Callback(() => action++);
            writerMock.Setup(w => w.Close()).Callback(() => action++);
            writerMock.MockWriteElementString("finish", "2010-01-01T12:01:01");
            writerMock.MockWriteElementString("status", "Success");
            var clockMock = new Mock <IClock>(MockBehavior.Strict);

            clockMock.Setup(c => c.Now).Returns(new DateTime(2010, 1, 1, 12, 1, 1));
            var context = new TaskExecutionContext(
                new TaskExecutionParameters
            {
                XmlWriter = writerMock.Object,
                Clock     = clockMock.Object
            });

            context.Complete();
            context.Complete();
            Assert.AreEqual(2, action);
        }
        public void CompleteClosesWriter()
        {
            var writerMock = new Mock <XmlWriter>(MockBehavior.Strict);

            writerMock.Setup(w => w.WriteEndDocument()).Verifiable();
            writerMock.Setup(w => w.Close()).Verifiable();
            writerMock.MockWriteElementString("finish", "2010-01-01T12:01:01");
            writerMock.MockWriteElementString("status", "Success");
            var clockMock = new Mock <IClock>(MockBehavior.Strict);

            clockMock.Setup(c => c.Now).Returns(new DateTime(2010, 1, 1, 12, 1, 1));
            var context = new TaskExecutionContext(
                new TaskExecutionParameters
            {
                XmlWriter = writerMock.Object,
                Clock     = clockMock.Object
            });

            Assert.IsFalse(context.IsCompleted);
            context.Complete();
            writerMock.Verify();
            Assert.IsTrue(context.IsCompleted);
        }
 public void StartChildStartsANewChildContext()
 {
     var writerMock = new Mock<XmlWriter>(MockBehavior.Strict);
     writerMock.Setup(w => w.WriteStartElement(null, "task", null)).Verifiable();
     writerMock.MockWriteAttributeString("name", "TestComment");
     writerMock.MockWriteAttributeString("type", "Comment");
     writerMock.MockWriteElementString("start", "2010-01-01T12:01:01");
     var clockMock = new Mock<IClock>(MockBehavior.Strict);
     clockMock.Setup(c => c.Now).Returns(new DateTime(2010, 1, 1, 12, 1, 1));
     var task = new Comment("TestComment");
     var context = new TaskExecutionContext(
         new TaskExecutionParameters
             {
                 XmlWriter = writerMock.Object,
                 Clock = clockMock.Object
             });
     var child = context.StartChild(task);
     Assert.IsNotNull(child);
     Assert.AreSame(context, child.Parent);
     Assert.AreSame(context.ModificationSets, child.ModificationSets);
     writerMock.Verify();
 }