public void SelectBestAct_HasResourceRequireActAndHasNoInventory_SelectsDefault() { // ARRANGE var acts = new ITacticalAct[] { new TacticalAct(new TestTacticalActScheme { Sid = "default", Stats = new TestTacticalActStatsSubScheme { Effect = TacticalActEffectType.Damage, Efficient = new Roll(3, 1), Offence = new TestTacticalActOffenceSubScheme { ApRank = 1, Impact = ImpactType.Kinetic, Type = OffenseType.Tactical } } }, new Roll(3, 1), new Roll(3, 3), null ), new TacticalAct(new TestTacticalActScheme { Sid = "resource-required", Stats = new TestTacticalActStatsSubScheme { Effect = TacticalActEffectType.Damage, Efficient = new Roll(3, 3), Offence = new TestTacticalActOffenceSubScheme { ApRank = 1, Impact = ImpactType.Kinetic, Type = OffenseType.Tactical } }, Constrains = new TestTacticalActConstrainsSubScheme { PropResourceType = "resource", PropResourceCount = 1 } }, new Roll(3, 1), new Roll(3, 3), null ) }; // ACT var factAct = SelectActHelper.SelectBestAct(acts, null); // ASSERT factAct.Scheme.Sid.Should().Be("default"); }
public void SelectBestAct_HasResourceRequireActAndHasNoResource_SelectsDefault() { // ARRANGE var acts = new ITacticalAct[] { new TacticalAct(new TestTacticalActScheme { Sid = "default", Stats = new TestTacticalActStatsSubScheme { Effect = Core.Schemes.TacticalActEffectType.Damage, Efficient = new Core.Common.Roll(3, 1), Offence = new TestTacticalActOffenceSubScheme { ApRank = 1, Impact = Core.Common.ImpactType.Kinetic, Type = Core.Components.OffenseType.Tactical } } }, new Core.Common.Roll(3, 1), new Core.Common.Roll(3, 3), equipment: null ), new TacticalAct(new TestTacticalActScheme { Sid = "resource-required", Stats = new TestTacticalActStatsSubScheme { Effect = Core.Schemes.TacticalActEffectType.Damage, Efficient = new Core.Common.Roll(3, 3), Offence = new TestTacticalActOffenceSubScheme { ApRank = 1, Impact = Core.Common.ImpactType.Kinetic, Type = Core.Components.OffenseType.Tactical } }, Constrains = new TestTacticalActConstrainsSubScheme { PropResourceType = "resource", PropResourceCount = 1 } }, new Core.Common.Roll(3, 1), new Core.Common.Roll(3, 3), equipment: null ), }; var inventoryMock = new Mock <IPropStore>(); inventoryMock.Setup(x => x.CalcActualItems()).Returns(Array.Empty <IProp>()); var inventory = inventoryMock.Object; // ACT var factAct = SelectActHelper.SelectBestAct(acts, inventory); // ASSERT factAct.Scheme.Sid.Should().Be("default"); }