private static void RegisterActionResolver(ContainerBuilder builder) { builder.Register <ActionResolver>(c => { var movementResolver = new MovementResolver(c.Resolve <ILogger>(), c.Resolve <ICreatureRegistry>(), c.Resolve <IPlayArea>(), c.Resolve <ICombatRegistry>(), c.Resolve <IMessageDispatcher>()); var lootAllResolver = new LootAllResolver(c.Resolve <ILogger>(), c.Resolve <ICreatureRegistry>(), c.Resolve <IPlayArea>()); var lootResolver = new LootResolver(c.Resolve <ILogger>(), c.Resolve <ICreatureRegistry>(), c.Resolve <IPlayArea>()); var attackResolver = new AttackResolver(c.Resolve <ILogger>(), c.Resolve <ICreatureRegistry>(), c.Resolve <IPlayArea>(), c.Resolve <ICombatSimulator>()); var consumeResolver = new ConsumeResolver(c.Resolve <ICreatureRegistry>()); var resolverMap = new Dictionary <string, IResolver> { { movementResolver.ActionName, movementResolver }, { lootAllResolver.ActionName, lootAllResolver }, { lootResolver.ActionName, lootResolver }, { attackResolver.ActionName, attackResolver }, { consumeResolver.ActionName, consumeResolver } }; return(new ActionResolver(c.Resolve <IActionRepository>(), resolverMap)); }).As <IActionResolver>(); }
public void Arrange() { _container = AutoMock.GetLoose(); _resolver = _container.Create <LootResolver>(); _player = new Player { Id = "arbitraryId" }; _playArea = _container.Mock <IPlayArea>(); _creatureRegistry = _container.Mock <ICreatureRegistry>(); _creatureRegistry.Setup(i => i.GetById(It.IsAny <string>())).Returns(_player); _item = new Item("some_id", "Torch", SubType.None); _cell = new Cell { Content = new CellContent { Entities = new List <Entity> { _item } } }; _playArea.Setup(i => i.GameMap.GetCell(It.IsAny <int>(), It.IsAny <int>())).Returns(_cell); }