X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.hibernate%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Ftest%2FTestDataUtils.java;fp=org.argeo.slc.hibernate%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Ftest%2FTestDataUtils.java;h=66cae87c3dbf4b04f5ab79d087728721989a656f;hb=12b475b97f9d3897ecb685f6ead364c8fda0cb6d;hp=0000000000000000000000000000000000000000;hpb=a32208c9fd354f253afbb8fd5cd48a455a335d6a;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDataUtils.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDataUtils.java new file mode 100644 index 000000000..66cae87c3 --- /dev/null +++ b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDataUtils.java @@ -0,0 +1,45 @@ +package org.argeo.slc.core.test; + +import org.argeo.slc.core.UnsupportedException; + +/** Utilities for dealing with test datas. */ +public class TestDataUtils { + /** Extracts the test data from the given provider. */ + public static T getFromProvider(Object obj, + Class clss, String key) { + if (obj instanceof TestDataProvider) { + TestDataProvider testDataProvider = (TestDataProvider) obj; + return testDataProvider.getTestData(clss, key); + } else { + throw new UnsupportedException("test data provider", obj); + } + } + + /** + * Extracts the test data from the given provider using null + * as key. + */ + public static T getFromProvider(Object obj, + Class clss) { + return getFromProvider(obj, clss, null); + } + + /** + * Returns it self after making the proper checks. Used for test data being + * their own data providers. + */ + public static T getItSelf(Class clss, + TestData testDataObject) { + if (clss.isAssignableFrom(testDataObject.getClass())) { + return (T) testDataObject; + } else { + throw new UnsupportedException("test data", testDataObject); + } + + } + + /** Makes sure this is an utility class. */ + private TestDataUtils() { + + } +}