public void ShouldNotAddANewSequenceIfTheFirstSequenceIsEmptyUsingWithGroup() { //Arrange var options = new StartupTasksOptions(); //Act options.WithGroup(s => null); var result = options.Groups; //Assert Assert.AreEqual(1, result.Count); }
public void ShouldAddANewSequenceUsingAndGroup() { //Arrange var options = new StartupTasksOptions(); //Act options.WithGroup(s => s.First <TaskAlpha>()) .AndGroup(s => s.First <TaskBeta>()); var result = options.Groups; //Assert Assert.AreEqual(2, result.Count); }
public void ShouldReturnTheLastSequenceUsingAndGroup() { //Arrange var options = new StartupTasksOptions(); options.WithGroup(s => s.First <TaskAlpha>()) .AndGroup(s => s.First <TaskBeta>()); //Act var result = options.Sequence; //Assert Assert.AreEqual(options.Groups[1].Sequence, result); }
public void ShouldReturnAStartupTaskOptionsUsingAndGroup() { //Arrange var options = new StartupTasksOptions(); options.WithGroup(s => s.First <TaskAlpha>()); //Act var result = options.AndGroup(s => s.First <TaskBeta>()); //Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(StartupTasksOptions)); Assert.AreSame(options, result); }
public void ShouldSpecifySequenceForGroups() { //Act var options = new StartupTasksOptions(); options.WithGroup(s => s.First <TaskAlpha>().Then <TaskBeta>()) .AndGroup(s => s.First <TaskGamma>().Then().TheRest()); var result = options.Groups; //Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result[0], typeof(ISequenceSpecification)); Assert.IsInstanceOfType(result[0], typeof(SequenceSpecification)); Assert.AreEqual(typeof(TaskAlpha), result[0].Sequence[0].TaskType); Assert.AreEqual(typeof(TaskBeta), result[0].Sequence[1].TaskType); Assert.IsInstanceOfType(result[1], typeof(ISequenceSpecification)); Assert.IsInstanceOfType(result[1], typeof(SequenceSpecification)); Assert.AreEqual(typeof(TaskGamma), result[1].Sequence[0].TaskType); Assert.AreEqual(typeof(IStartupTask), result[1].Sequence[1].TaskType); }