ciao a tutti!
Ho bisogno di una bella mano sul codice di un metodo che non riesco a svolgere.
Vi Posto il test a cui viene sottoposta la classe, la classe stessa e documentazione.
Spero possiate aiutarmi!!!!!
nei commenti c'è scritto quello che dovrebbe fare la classe.
//TEST
//DOCUMENTAZIONEcodice:import java.util.Calendar; import com.jds.architecture.utilities.IntArrayToCalendar; import junit.framework.TestCase; /** * */ public class IntArrayToCalendarTest extends TestCase { public static final int[] validTarget1 = {2004, 1, 1}; public static final int[] validTarget2 = {2004, 12, 31}; public static final int[] validTarget3 = {2004, 1, 1, 1}; public static final int[] validTarget4 = {2004, 120, 310}; public static final int[] errorTarget1 = {2004, 1}; public static final String[] errorTarget2 = {"2004", "5", "15"}; public static final int[] errorTarget3 = null; public void testTransformNormal() { IntArrayToCalendar intArrayToCalendar = new IntArrayToCalendar(); // *assertion implementation* // Calendar test1 = Calendar.getInstance(); // test1.set(Calendar.YEAR, validTarget1[0]); // test1.set(Calendar.MONTH, validTarget1[1] - 1); // test1.set(Calendar.DATE, validTarget1[2]); // // Calendar test2 = Calendar.getInstance(); // test2.set(Calendar.YEAR, validTarget2[0]); // test2.set(Calendar.MONTH, validTarget2[1] - 1); // test2.set(Calendar.DATE, validTarget2[2]); // // Calendar test3 = Calendar.getInstance(); // test3.set(Calendar.YEAR, validTarget3[0]); // test3.set(Calendar.MONTH, validTarget3[1] - 1); // test3.set(Calendar.DATE, validTarget3[2]); // // assertEquals(test1, intArrayToCalendar.transform(validTarget1)); // assertEquals(test2, intArrayToCalendar.transform(validTarget2)); // assertEquals(test3, intArrayToCalendar.transform(validTarget3)); Calendar temp1 = (Calendar)(intArrayToCalendar.transform(validTarget1)); Calendar temp2 = (Calendar)(intArrayToCalendar.transform(validTarget2)); Calendar temp3 = (Calendar)(intArrayToCalendar.transform(validTarget3)); //1.01 assertEquals(2004, temp1.get(Calendar.YEAR)); assertEquals(0, temp1.get(Calendar.MONTH)); assertEquals(1, temp1.get(Calendar.DATE)); //1.02 assertEquals(2004, temp2.get(Calendar.YEAR)); assertEquals(11, temp2.get(Calendar.MONTH)); assertEquals(31, temp2.get(Calendar.DATE)); //1.03 assertEquals(2004, temp3.get(Calendar.YEAR)); assertEquals(0, temp3.get(Calendar.MONTH)); assertEquals(1, temp3.get(Calendar.DATE)); //1.04 try { Calendar temp4 = (Calendar)(intArrayToCalendar.transform(validTarget3)); } catch(Exception e) { fail("exception not expected - Xref 1.04"); } } public void testTransformError() { IntArrayToCalendar intArrayToCalendar = new IntArrayToCalendar(); //2.01 try { intArrayToCalendar.transform(errorTarget1); } catch (ArrayIndexOutOfBoundsException ex) { return; } catch (Exception e) { fail("invalid exception - Xref 2.01"); } fail("invalid exception - Xref 2.01"); //2.02 try { intArrayToCalendar.transform(errorTarget2); } catch (ClassCastException ex) { return; } catch (Exception e) { fail("invalid exception - Xref 2.02"); } fail("invalid exception - Xref 2.02"); //2.03 try { intArrayToCalendar.transform(errorTarget3); } catch (NullPointerException ex) { return; } catch (Exception e) { fail("invalid exception - Xref 2.03"); } fail("invalid exception - Xref 2.03"); } } //Classe import java.util.Calendar; import java.util.Date; /** * Transform strategy object used to transform an array of integers into a Calendar object * The Calendar used will use the locale as specified by a non-lenient, no-argument Calendar * as obtained by Calendar.getInstance(), that will then be populated by the values of the * integer array. * * The overriden method <code>transform(Object target)</code> accepts an integer array containing * at least 3 integers representing the date to be transformed. Extra elements in the array are * ignored. RuntimeExceptions will be thrown when any other argument is passed to the method. * * Classes that implement the <code>TransformStrategy</code> interface should be * passed to <code>Transformer</code> objects via their constructor or to the * <code>Transformer.transform(TransformStrategy, Object)</code> method. * * * @see Transformer * @see TransformStrategy */ public class IntArrayToCalendar implements TransformStrategy { /** * Returns an equivalent Calendar object representation of the * input array of integers {year, month, date}. * * @param target array of integers containing 3 elements to be transformed * @return Calendar object equivalent of the argument */ public Object transform(Object target) { // TODO Auto-generated method stub } }
transform
public java.lang.Object transform(java.lang.Object target)Returns an equivalent Calendar object representation of the input array of integers {year, month, date}.
Parameters:
target - array of integers containing 3 elements to be transformed
Returns:
Calendar object equivalent of the argument

Rispondi quotando
