public void Slot_ThrowsIfSlotIdAlreadyDefined() { // Arrange var builder = new DomainBuilder <MyContext>("Test"); // Act builder.Slot(1); builder.Slot(1); }
public void Slot_ExpectedBehavior() { // Arrange var builder = new DomainBuilder <MyContext>("Test"); // Act builder.Slot(1); Assert.AreEqual(true, builder.Pointer is TaskRoot); var domain = builder.Build(); var subDomain = new DomainBuilder <MyContext>("sub-domain").Build(); Assert.IsTrue(domain.TrySetSlotDomain(1, subDomain)); // Its valid to add a sub-domain to a slot we have defined in our domain definition, and that is not currently occupied. Assert.IsTrue(domain.TrySetSlotDomain(1, subDomain) == false); // Need to clear slot before we can attach sub-domain to a currently occupied slot. Assert.IsTrue(domain.TrySetSlotDomain(99, subDomain) == false); // Need to define slotId in domain definition before we can attach sub-domain to that slot. Assert.IsTrue(domain.Root.Subtasks.Count == 1); Assert.IsTrue(domain.Root.Subtasks[0] is Slot); var slot = (Slot)domain.Root.Subtasks[0]; Assert.IsTrue(slot.Subtask != null); Assert.IsTrue(slot.Subtask is TaskRoot); Assert.IsTrue(slot.Subtask.Name == "sub-domain"); domain.ClearSlot(1); Assert.IsTrue(slot.Subtask == null); }
public void Slot_ThrowsIfNotCompoundPointer() { // Arrange var builder = new DomainBuilder <MyContext>("Test"); // Act builder.Action("test"); builder.Slot(1); }
public void Slot_ForgotEnd() { // Arrange var builder = new DomainBuilder <MyContext>("Test"); // Act builder.Select("test"); builder.Slot(1); Assert.AreEqual(true, builder.Pointer is Selector); }
public static DomainBuilder <AIContext> Slot(this DomainBuilder <AIContext> builder, AIDomainSlots slot) { return(builder.Slot((int)slot)); }