public void can_leave_from_a_faction()
        {
            var faction = new AFaction();

            character1.Join(faction);

            character1.Leave(faction);

            character1.Factions.Should().BeEmpty();
        }
        public void allies_of_a_faction_can_not_damage_each_others()
        {
            var faction = new AFaction();

            character1.Join(faction);
            character2.Join(faction);

            EventBus.Raise(WhenAttackCharacter(character1, character2, MaxHealth));

            character2.Health.Should().Be(MaxHealth);
        }
        public void allies_of_a_faction_can_heal_each_others()
        {
            var otherCharacter = RangedFighter.Create();
            var faction        = new AFaction();

            character1.Join(faction);
            character2.Join(faction);

            EventBus.Raise(WhenAttackCharacter(otherCharacter, character2, 900));
            EventBus.Raise(WhenHealingCharacter(character1, character2, 100));

            character2.Health.Should().Be(200);
        }