Asercje dla kolekcji i tablic. Uproszczone, ale daje radę:
listing 1. Asercje dla kolekcji
package pl.koziolekweb.test.assertions;
import java.util.Collection;
import org.testng.Assert;
/**
* Klasa zawiera dodatkowe asercje dla testów. Jest to rozszerzenie {@link Assert} i wykorzystuje
* metody z tej klasy.
*
* @author Koziołek
*
*/
public class ExtraAssertion extends Assert {
/**
* Testuje czy kolekcja nie jest pusta. Kolekcja jest pusta jeżeli;
*
* - nie jest
null
.
* - {@link Collection#isEmpty()} zwraca
true
.
*
*
* @param collection
* testowana kolekcja.
*/
public static void assertEmpty(Collection> collection) {
assertNotNull(collection, "Collection is
");
assertTrue(collection.isEmpty(), "Collection is not empty");
}
/**
* Testuje czy tablica nie jest pusta. Tablica jest pusta jeżeli:
*
* - nie jest
null
.
* - length jest większe niż 0.
*
*
* @param
* dowolny typ.
* @param tArray
* testowana tablica.
*/
public static void assertEmpty(T[] tArray) {
assertNotNull(tArray, "Array is ");
assertEquals(tArray.length, 0, "Array is not empty");
}
/**
* Testuje czy kolekcja nie jest pusta.
*
* @param collection
* testowana kolekcja.
*/
public static void assertNotEmpty(Collection> collection) {
assertNotNull(collection, "Collection is ");
assertFalse(collection.isEmpty(), "Collection is empty");
}
/**
* Testuje czy tablica nie jest pusta.
*
* @param
* dowolny typ.
* @param tArray
* testowana tablica.
*/
public static void assertNotEmpty(T[] tArray) {
assertNotNull(tArray, "Array is ");
assertTrue(tArray.length > 0, "Array is empty");
}
/**
* Sprawdza czy kolekcja jest określonej wielkości.
*
* @param collection
* kolekcja.
* @param expectedSize
* oczekiwana wielkość.
*/
public static void assertSize(Collection> collection, int expectedSize) {
assertNotNull(collection, "Collection is ");
assertEquals(collection.size(), expectedSize,
String.format("Collection size is %d, but should be %d", collection.size(), expectedSize));
}
/**
* Sprawdza czy tablica jest oczekiwanej wielkości.
*
* @param
* dowolny typ.
* @param tArray
* tablica.
* @param expectedSize
* oczekiwana wielkość.
*/
public static void assertSize(T[] tArray, int expectedSize) {
assertNotNull(tArray, "Array is ");
assertEquals(tArray.length, expectedSize,
String.format("Array lenght is %d, but should be %d", tArray.length, expectedSize));
}
}
Jako rozszerzenie Assert z TestNG.
have fun
Wszystkie powyższe znajdziesz w znakomitej bibliotece FEST Assertions (http://code.google.com/p/fest): assertThat(collection/array).is(Not)Empty() i assertThat(collection/array).hasSize(int) – z dokładnie tą samą semantyką.
🙂 wiem, ale moje jest lepsze bo jest moje 🙂