public async Task BotLogic_GetAllActiveBots_Should_Only_Return_Recently_Died_Bots() { // Arrange var randomHelper = new Mock <IRandomHelper>(); var botRepository = new Mock <IRepository <Bot> >(); var scriptRepository = new Mock <IRepository <BotScript> >(); var playerRepository = new Mock <IRepository <Player> >(); var botMapper = new BotMapper(); var botToCreateMapper = new BotToCreateMapper(); var arenaLogic = new Mock <IArenaLogic>(); var configurationHelper = new Mock <IConfigurationHelper>(); IBotLogic botLogic = new BotLogic( randomHelper.Object, botRepository.Object, scriptRepository.Object, playerRepository.Object, botMapper, botToCreateMapper, arenaLogic.Object, configurationHelper.Object); var bots = new List <Bot> { new Bot { Name = "BOT1", CurrentHealth = 0, TimeOfDeath = DateTime.UtcNow.AddSeconds(-11) }, new Bot { Name = "BOT2", Id = Guid.NewGuid(), CurrentHealth = 0, TimeOfDeath = DateTime.UtcNow.AddSeconds(-1) } }; // Mock botRepository.Setup(x => x.Find(Any.Predicate <Bot>(), Any.Include <Bot, Player>())) .ReturnsAsync((Expression <Func <Bot, bool> > predicate, Expression <Func <Bot, Player> > include) => (IList <Bot>)bots.Where(predicate.Compile()).ToList()); // Act var result = await botLogic.GetAllActiveBots(); // Assert result.Should().HaveCount(1); result.Should().Contain(x => x.Name == "BOT2"); }
public async Task BotLogic_GetAllActiveBots_Should_Only_Return_Active_Bots() { // Arrange var randomHelper = new Mock <IRandomHelper>(); var botRepository = new Mock <IRepository <Bot> >(); var scriptRepository = new Mock <IRepository <BotScript> >(); var playerRepository = new Mock <IRepository <Player> >(); var botMapper = new BotMapper(); var botToCreateMapper = new BotToCreateMapper(); var arenaLogic = new Mock <IArenaLogic>(); var configurationHelper = new Mock <IConfigurationHelper>(); IBotLogic botLogic = new BotLogic( randomHelper.Object, botRepository.Object, scriptRepository.Object, playerRepository.Object, botMapper, botToCreateMapper, arenaLogic.Object, configurationHelper.Object); var bots = new List <Bot> { new Bot { CurrentHealth = 1, Player = new Player { Name = "PlayerName" } } }; // Mock botRepository.Setup(x => x.Find(Any.Predicate <Bot>(), Any.Include <Bot, Player>())) .ReturnsAsync((Expression <Func <Bot, bool> > predicate, Expression <Func <Bot, Player> > include) => (IList <Bot>)bots.Where(predicate.Compile()).ToList()); // Act var result = await botLogic.GetAllActiveBots(); // Assert result.Should().HaveCount(1); result.Should().Contain(x => x.PlayerName == "PlayerName"); }