2013-09-07 1 views
-3

Cela fait un moment que j'ai fait ce genre de codage. Donc je me demandais s'il y avait un endroit où je devais faire des changements pour me permettre de faire un bon testeur Java.Dog Fight Java implication

public void performMove(Dog otherDog, float randomNumber) { 


    /* Parameters for attack vs. Attack */ 
    if(!(this.isDefending)&&!(otherDog.isDefending)){ 
    if((randomNumber * 100) >= speed){ 
     otherDog.getHit((int)Math.round(0.25*power)); 
    } 
    else{ 
     resultOfLastInteraction = "...." + this.name + "miss"; 
    } 

    } 
    /*Parameters for Attack vs. Defend*/ 
    else if(!(this.isDefending) && (otherDog.isDefending)){ 

    if((randomNumber * 100 >= 0) && (randomNumber * 100 <= 50)){ 
     otherDog.getHit((int)Math.round(0.25*power)); 
    } 
    else if((randomNumber * 100 >= 51) && (randomNumber * 100 <= 75)){ 
     this.getHit((int)Math.round(0.25*power)); 
    } 
    else if((randomNumber * 100 >= 76) && (randomNumber * 100 <= 100)){ 
     this.getHit((int)Math.round(0.25*power)); 

    } 

    /*Parameters for Defend vs. Defend */ 
    else if((this.isDefending) && (otherDog.isDefending)){ 
    resultOfLastInteraction = "Stale Mate"; 
    } 
    else{ 
    resultOfLastInteraction = "Select Move"; 
    } 
    } 

/* stubbed */ 

} 
+0

votre 'dog2.resultOfLastInteraction()' renvoie NULL et n'est pas défini. – RandomQuestion

+1

Vous pouvez améliorer la lisibilité de vos tests si vous apprenez les méthodes 'assertEquals' et' assertNotEquals'. –

Répondre

2

Je ne suis pas sûr de la mise en œuvre de resultOfLastInteraction() dans la classe Dog (je suppose qu'il a un nom similaire à celui), mais il doit être null retournaient.

également pour clarifier les choses, par « retour une NullPointerException », la terminologie appropriée est de dire jeter unNullPointerException.

+0

public Chaîne resultOfLastInteraction() { return resultOfLastInteraction; } – Carl

+0

@Carl Eh bien, je pense qu'il est prudent de supposer que 'resultOfLastInteraction' est défini sur' null' à un moment donné, ou qu'il n'est même pas initialisé du tout. –

+0

bien j'ai aussi dans l'implémentation des commandes ceci: else { resultOfLastInteraction = "...." + this.name + "miss"; } – Carl

Questions connexes