public void タイプの漏れがないかテスト()
 {
     foreach (Type x in System.Enum.GetValues(typeof(Type)))
     {
         foreach (Type y in System.Enum.GetValues(typeof(Type)))
         {
             try {
                 _ = TypeRelationshipCalculator.Calculate(x, y);
             } catch (System.ArgumentOutOfRangeException e) {
                 Assert.Fail(e.Message);
             }
         }
     }
 }
 public void 草でノーマルに攻撃すると普通()
 {
     Assert.That(TypeRelationshipCalculator.Calculate(Type.Leaf, Type.Normal),
                 Is.EqualTo(TypeRelationship.Ordinary));
 }
 public void 水で草に攻撃すると不利()
 {
     Assert.That(TypeRelationshipCalculator.Calculate(Type.Water, Type.Leaf),
                 Is.EqualTo(TypeRelationship.Disadvantage));
 }
 public void 水で火に攻撃すると有利()
 {
     Assert.That(TypeRelationshipCalculator.Calculate(Type.Water, Type.Fire),
                 Is.EqualTo(TypeRelationship.Advantage));
 }
 public void 火で草に攻撃すると有利()
 {
     Assert.That(TypeRelationshipCalculator.Calculate(Type.Fire, Type.Leaf),
                 Is.EqualTo(TypeRelationship.Advantage));
 }
 public void 火で水に攻撃すると不利()
 {
     Assert.That(TypeRelationshipCalculator.Calculate(Type.Fire, Type.Water),
                 Is.EqualTo(TypeRelationship.Disadvantage));
 }
 public void ノーマルで水に攻撃すると普通()
 {
     Assert.That(TypeRelationshipCalculator.Calculate(Type.Normal, Type.Water),
                 Is.EqualTo(TypeRelationship.Ordinary));
 }
 public void 草で水に攻撃すると有利()
 {
     Assert.That(TypeRelationshipCalculator.Calculate(Type.Leaf, Type.Water),
                 Is.EqualTo(TypeRelationship.Advantage));
 }
 public void 草で火に攻撃すると不利()
 {
     Assert.That(TypeRelationshipCalculator.Calculate(Type.Leaf, Type.Fire),
                 Is.EqualTo(TypeRelationship.Disadvantage));
 }