public void ItStoresTheName() { unity.Name.Returns("Eric"); var cellPhone = new StandardUnit(conflictResolver, unity); Assert.AreEqual("Eric", cellPhone.UnitName); }
public void ItIsAliveWhenItsHealthIsNotZero() { unity.InitialHealth.Returns(10); var cellPhone = new StandardUnit(conflictResolver, unity); Assert.IsTrue(cellPhone.Alive()); }
public void ItIsDeadWhenItsHealthIsZero() { unity.InitialHealth.Returns(0); var cellPhone = new StandardUnit(conflictResolver, unity); Assert.IsFalse(cellPhone.Alive()); }
/// <summary> /// Start this instance. /// </summary> void Start() { var stateMachine = GameRouter.stateMachine; // Create the standard Unit. That object has all the game behavior. var unit = new StandardUnit(ConflictTable.resolver, this); // 'Bind' the controller. var controller = gameObject.GetComponent<UnitController>(); controller.Bind(unit); // Instantiate a prefab for the health label var healthLabel = Instantiate(labelPreFab, transform.position, transform.rotation) as GameObject; // Bind it to the health label script var labelScript = healthLabel.GetComponent<HealthLabel>(); labelScript.Bind(unit); labelScript.target = gameObject.transform; labelScript.offset = labelOffset; // Bind to the unit view. // So two views and one controller var unitView = gameObject.GetComponent<UnitView>(); unitView.Bind(unit); // Assign the unit to it's player stateMachine.AddUnitToPlayer(gameObject.tag, unit); }
public void ItDoesntCrashIfNobodyIsListeningForDoneWaiting() { var unity = Substitute.For<UnityObject>(); var conflictResolver = Substitute.For<ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); unit.NotReadyForCommand(); }
public void ItDoesntCrashIfNobodyIsWaiting() { var unity = Substitute.For <UnityObject>(); var conflictResolver = Substitute.For <ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); unit.PickMe(); }
public void ItDoesntCrashIfNobodyIsListeningForDoneWaiting() { var unity = Substitute.For <UnityObject>(); var conflictResolver = Substitute.For <ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); unit.NotReadyForCommand(); }
public void ItDoesntCrashIfNobodyIsWaiting() { var unity = Substitute.For<UnityObject>(); var conflictResolver = Substitute.For<ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); unit.PickMe(); }
public void ItsAttackStrengthComesFromItsConflictResolver() { var conflictResolver = Substitute.For <ConflictResolver>(); var enemy = Substitute.For <Unit>(); var cellPhone = new StandardUnit(conflictResolver, unity); conflictResolver.Resolve(enemy, cellPhone).Returns(1); Assert.AreEqual(1, cellPhone.AttackStrengthAgainst(enemy)); }
public void ItFiresTheAttackedEventWhenItsAttacked() { var unity = Substitute.For<UnityObject>(); var conflictResolver = Substitute.For<ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); bool attacked = false; unit.Attacked += () => attacked = true; unit.AttackWith(unit); Assert.IsTrue(attacked); }
public void ItFiresTheAttackedEventWhenItsAttacked() { var unity = Substitute.For <UnityObject>(); var conflictResolver = Substitute.For <ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); bool attacked = false; unit.Attacked += () => attacked = true; unit.AttackWith(unit); Assert.IsTrue(attacked); }
public void ItLosesTheDamageBasedOnTheUnits() { var unit = Substitute.For <Unit>(); unity.InitialHealth.Returns(10); var cellPhone = new StandardUnit(conflictResolver, unity); unit.AttackStrengthAgainst(cellPhone).Returns(1); cellPhone.AttackWith(unit); Assert.AreEqual(9, cellPhone.Health); }
public void ItFiresDoneWaitingWhenNotReadyForACommand() { var unity = Substitute.For<UnityObject>(); var conflictResolver = Substitute.For<ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); bool doneWaiting = false; unit.DoneWaiting += () => doneWaiting = true; unit.NotReadyForCommand(); Assert.IsTrue(doneWaiting); }
public void ItFiresDoneWaitingWhenNotReadyForACommand() { var unity = Substitute.For <UnityObject>(); var conflictResolver = Substitute.For <ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); bool doneWaiting = false; unit.DoneWaiting += () => doneWaiting = true; unit.NotReadyForCommand(); Assert.IsTrue(doneWaiting); }
public void ItFiresWaitingForPickMe() { var unity = Substitute.For <UnityObject>(); var conflictResolver = Substitute.For <ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); bool waiting = false; unit.Waiting += () => waiting = true; unit.PickMe(); Assert.IsTrue(waiting); }
public void ItDoesNotFireTheDeadEventWhenItDoesntDie() { var unity = Substitute.For<UnityObject>(); unity.InitialHealth.Returns(10); var conflictResolver = Substitute.For<ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); conflictResolver.Resolve(unit, unit).Returns(1); bool dead = false; unit.Dead += () => dead = true; unit.AttackWith(unit); Assert.IsFalse(dead); }
public void ItFiresTheDeadEventWhenItDies() { var unity = Substitute.For <UnityObject>(); unity.InitialHealth.Returns(1); var conflictResolver = Substitute.For <ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); conflictResolver.Resolve(unit, unit).Returns(1); bool dead = false; unit.Dead += () => dead = true; unit.AttackWith(unit); Assert.IsTrue(dead); }
public void ItIsAliveWhenItsHealthIsNotZero() { unity.InitialHealth.Returns(10); var cellPhone = new StandardUnit(conflictResolver, unity); Assert.IsTrue (cellPhone.Alive ()); }
public void ItIsDeadWhenItsHealthIsZero() { unity.InitialHealth.Returns (0); var cellPhone = new StandardUnit(conflictResolver, unity); Assert.IsFalse (cellPhone.Alive ()); }
public void ItLosesTheDamageBasedOnTheUnits() { var unit = Substitute.For<Unit>(); unity.InitialHealth.Returns(10); var cellPhone = new StandardUnit(conflictResolver, unity); unit.AttackStrengthAgainst(cellPhone).Returns(1); cellPhone.AttackWith(unit); Assert.AreEqual(9, cellPhone.Health); }
public void ItsAttackStrengthComesFromItsConflictResolver() { var conflictResolver = Substitute.For<ConflictResolver>(); var enemy = Substitute.For<Unit>(); var cellPhone = new StandardUnit(conflictResolver, unity); conflictResolver.Resolve(enemy, cellPhone).Returns(1); Assert.AreEqual(1, cellPhone.AttackStrengthAgainst (enemy)); }
public void ItFiresWaitingForPickMe() { var unity = Substitute.For<UnityObject>(); var conflictResolver = Substitute.For<ConflictResolver>(); var unit = new StandardUnit(conflictResolver, unity); bool waiting = false; unit.Waiting += () => waiting = true; unit.PickMe(); Assert.IsTrue(waiting); }