protected void ValidateNinjaWarriorWithOverides(IWarrior warrior)
 {
     warrior.Should().BeOfType<Ninja>();
     warrior.Weapon.Should().BeOfType<Shuriken>();
     Ninja ninja = warrior as Ninja;
     ninja.SecondaryWeapon.Should().BeOfType<Sword>();
     ninja.VerySecretWeaponAccessor.Should().BeOfType<Sword>();
 }
        protected void ValidateNinjaWarriorWithOverides(IWarrior warrior)
        {
            warrior.Should().BeOfType <Ninja>();
            warrior.Weapon.Should().BeOfType <Shuriken>();
            Ninja ninja = warrior as Ninja;

            ninja.SecondaryWeapon.Should().BeOfType <Sword>();
            ninja.VerySecretWeaponAccessor.Should().BeOfType <Sword>();
        }
 /// <summary>
 /// ��֤սʿ
 /// </summary>
 /// <param name="warrior"></param>
 protected void ValidateWarrior(IWarrior warrior)
 {
     //���սʿ������һ������
     warrior.Should().BeOfType<FootSoldier>();
     //սʿ����������
     warrior.Weapon.Should().NotBeNull();
     //սʿ�����������Ƿ���
     warrior.Weapon.Should().BeOfType<Shuriken>();
 }
 /// <summary>
 /// ͨ����д�󣬶��ձ�����������֤
 /// </summary>
 /// <param name="warrior"></param>
 protected void ValidateNinjaWarriorWithOverides(IWarrior warrior)
 {
     //սʿ�����ձ���ʿ
     warrior.Should().BeOfType<Ninja>();
     //սʿ�����������Ƿ���
     warrior.Weapon.Should().BeOfType<Shuriken>();
     Ninja ninja = warrior as Ninja;
     //�ձ���ʿ�ĸ������������ǵ�
     ninja.SecondaryWeapon.Should().BeOfType<Sword>();
     //�ձ���ʿ�ĵ���Ӧ���ǵ�
     ninja.VerySecretWeaponAccessor.Should().BeOfType<Sword>();
 }
 protected void ValidateWarrior(IWarrior warrior)
 {
     warrior.Should().BeOfType <FootSoldier>();
     warrior.Weapon.Should().NotBeNull();
     warrior.Weapon.Should().BeOfType <Shuriken>();
 }
 protected void ValidateWarrior(IWarrior warrior)
 {
     warrior.Should().BeOfType<FootSoldier>();
     warrior.Weapon.Should().NotBeNull();
     warrior.Weapon.Should().BeOfType<Shuriken>();
 }