public ISlotManager SlotBuilder(Deltin.CustomGameAutomation.AI ai, Func <List <int> > filledSlotsFunction, BotsModifiedFlag modifiedFlag) { BotDeltinObservation botDeltinObservation = new BotDeltinObservation(ai); DeltinSlotObservation deltinSlotObservation = new DeltinSlotObservation(botDeltinObservation, filledSlotsFunction); ISlotContentObserver observer = new SlotContentObserver(modifiedFlag, deltinSlotObservation); ISlotContentHistory history = new SlotContentHistory(observer); ISlotManager slots = new SlotManager(history); return(slots); }
public void TestWhenBotsModifiedThenUpdatesBotLocations() { BotsModifiedFlag flag = new BotsModifiedFlag(); flag.Flag(); FakeBotDeltinObservation botDeltinObservation = new FakeBotDeltinObservation(); FakeDeltinObservations observation = new FakeDeltinObservations(botDeltinObservation); Dictionary<int, List<SlotContent> > fakeHistory = new Dictionary<int, List<SlotContent>>() { {0, new List<SlotContent>(){ SlotContent.Player} }, {2, new List<SlotContent>(){SlotContent.Player} }, {4, new List<SlotContent>(){SlotContent.Player} }, {6, new List<SlotContent>(){ SlotContent.Player} }, {8, new List<SlotContent>(){SlotContent.Player} }, {10, new List<SlotContent>(){SlotContent.Player} }, { 1, new List<SlotContent>(){SlotContent.Bot} }, {3, new List<SlotContent>(){SlotContent.Bot} }, {7, new List<SlotContent>(){SlotContent.Bot} }, {9, new List<SlotContent>(){SlotContent.Bot} }, {5, new List<SlotContent>(){SlotContent.Empty} }, {11,new List<SlotContent>(){ SlotContent.Empty} }, }; SlotContentObserver sut = new SlotContentObserver(flag, observation); List<SlotContent> result = sut.Observe(fakeHistory); Assert.IsTrue(result[0] == SlotContent.Bot); Assert.IsTrue(result[1] == SlotContent.Player); Assert.IsTrue(result[2] == SlotContent.Bot); Assert.IsTrue(result[3] == SlotContent.Player); Assert.IsTrue(result[4] == SlotContent.Bot); Assert.IsTrue(result[6] == SlotContent.Bot); Assert.IsTrue(result[7] == SlotContent.Player); Assert.IsTrue(result[8] == SlotContent.Bot); Assert.IsTrue(result[9] == SlotContent.Player); Assert.IsTrue(result[10] == SlotContent.Bot); }