2016-05-27 6 views
1

Ich habe 2 String-Arrays in einer Klasse. Ich habe eine TestNG-Klasse, in der ich die Werte dieser Arrays in einer Testmethode vergleichen muss. Die Idee ist, sollte ich für n Anzahl, wie oft meine Prüfnorm Schleife, wo n = {size of one of the arrays}Programmierlogik mit TestNG

@Test(invocationCount = {fixedCount}) hat bei mir nicht funktioniert, da Größe des Arrays variiert.

Bitte lassen Sie mich wissen, wenn ich weitere Informationen zur Verfügung stellen muss.

Antwort

0

Wie wäre es zu prüfen, ob die Größe der beiden Arrays gleich sind? Wenn sie nicht gleich sind, sind die beiden Arrays auch nicht gleich.

Edit:

This ist ein Thread zu Gleichheit mit Java zu überprüfen. Wenn ich mich gut erinnere, ist Arrays.equals(array1, array2) der richtige Weg für die Überprüfung der enthaltenen Elemente, aber ich bin kein Java-Typ.
Wenn Sie die Elemente von Hand überprüfen möchten, verwenden Sie Iteration für die Arrays (Sie können, da ihre Größe jetzt gleich ist).

bool validator(int[] array1, int[] array2) 
{ 
    if (array1 == null || array2 == null) 
    { 
     return false; 
    } 

    if (array1.length != array2.length) 
    { 
     return false; 
    } 

    for (int i = 0; i < array1.length; i++) 
    { 
     if (array1[i] != array2[i]) 
     { 
      return false; 
     } 
    } 

    return true; 
} 
+0

Danke für Ihre Antwort KAI. Wie gehe ich vor, wenn die Größe der beiden Arrays gleich ist? Meine Anforderung ist, ich muss die Arrays vergleichen wie: 'array1 [0] == array2 [0] \\ erste Behauptung in Test method' und dann' array1 [1] == array2 [1] \\ zweite Behauptung in der selbe Testmethode' – Lawrence

+0

Ich habe eine Bearbeitung meiner Antwort vorgenommen. – KAI

+0

OK. Tut mir leid, dass ich in meiner Frage nicht genau bin. Das habe ich: 'HashMap map1 = neu HashMap ();' 'HashMap map2 = neu HashMap (); 'Ich muss die HashMap wie folgt durchlaufen:' für (int i = 0; I Lawrence