public void AddSubSchedule()
        {
            var scheduleId        = new ScheduleId();
            var builder           = new FixedScheduleBuilder();
            var subScheduleVertex = builder.AddSubSchedule(scheduleId);

            builder.LinkFromStart(subScheduleVertex);
            builder.LinkToEnd(subScheduleVertex);
            Assert.AreEqual(scheduleId, subScheduleVertex.ScheduleToExecute);
            Assert.AreEqual(2, subScheduleVertex.Index);

            var schedule = builder.Build();

            Assert.AreEqual(3, schedule.Vertices.Count());
            Assert.IsTrue(AreVerticesEqual(schedule.Start, schedule.Vertices.ElementAt(0)));
            Assert.IsTrue(AreVerticesEqual(subScheduleVertex, schedule.Vertices.ElementAt(1)));
            Assert.IsTrue(AreVerticesEqual(schedule.End, schedule.Vertices.ElementAt(2)));
        }
        public void AddSubSchedule()
        {
            var scheduleId = new ScheduleId();
            var builder = new FixedScheduleBuilder();
            var subScheduleVertex = builder.AddSubSchedule(scheduleId);
            builder.LinkFromStart(subScheduleVertex);
            builder.LinkToEnd(subScheduleVertex);
            Assert.AreEqual(scheduleId, subScheduleVertex.ScheduleToExecute);
            Assert.AreEqual(2, subScheduleVertex.Index);

            var schedule = builder.Build();
            Assert.AreEqual(3, schedule.Vertices.Count());
            Assert.IsTrue(AreVerticesEqual(schedule.Start, schedule.Vertices.ElementAt(0)));
            Assert.IsTrue(AreVerticesEqual(subScheduleVertex, schedule.Vertices.ElementAt(1)));
            Assert.IsTrue(AreVerticesEqual(schedule.End, schedule.Vertices.ElementAt(2)));
        }