public void Slot_ThrowsIfNotCompoundPointer()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            builder.Action("test");
            builder.Slot(1);
        }
        public void Splice_ThrowsIfNotCompoundPointer()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            var domain = new DomainBuilder <MyContext>("sub-domain").Build();

            builder.Action("test");
            builder.Splice(domain);
        }
        public void Effect_ForgotEnd()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            builder.Action("test");
            builder.Effect("test", EffectType.Permanent, (ctx, t) => { });

            Assert.AreEqual(true, builder.Pointer is IPrimitiveTask);
        }
        public void Do_ForgotEnd()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            builder.Action("test");
            builder.Do((ctx) => TaskStatus.Success);

            Assert.AreEqual(true, builder.Pointer is IPrimitiveTask);
        }
        public void ExecutingCondition_ForgotEnd()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            builder.Action("test");
            builder.ExecutingCondition("test", (ctx) => true);

            Assert.AreEqual(true, builder.Pointer is IPrimitiveTask);
        }
        public void Action_ForgotEnd()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            builder.Action("sequence test");

            // Assert
            Assert.AreEqual(true, builder.Pointer is IPrimitiveTask);
        }
        public void Effect_ExpectedBehavior()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            builder.Action("test");
            builder.Effect("test", EffectType.Permanent, (ctx, t) => { });
            builder.End();

            Assert.AreEqual(true, builder.Pointer is TaskRoot);
        }
        public void Do_ExpectedBehavior()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            builder.Action("test");
            builder.Do((ctx) => TaskStatus.Success);
            builder.End();

            Assert.AreEqual(true, builder.Pointer is TaskRoot);
        }
        public void ExecutingCondition_ExpectedBehavior()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            builder.Action("test");
            builder.ExecutingCondition("test", (ctx) => true);
            builder.End();

            Assert.AreEqual(true, builder.Pointer is TaskRoot);
        }
        public void Action_ExpectedBehavior()
        {
            // Arrange
            var builder = new DomainBuilder <MyContext>("Test");

            // Act
            builder.Action("sequence test");
            builder.End();

            // Assert
            Assert.AreEqual(true, builder.Pointer is TaskRoot);
        }