/** ******************************************************************************* * Copyright (C) 2001-2004, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.test.sample; import java.util.ListResourceBundle; /** * This is sample data for ModuleTestSample, which is an illustration * of a subclass of ModuleTest. This data is in a format which * is understood by ResourceModule, which for simplicity expects * all data, including numeric and boolean data, to be represented * by Strings. */ public class ModuleTestSampleData extends ListResourceBundle { public Object[][] getContents() { return contents; } Object[][] contents = { { "Info", new Object[][] { { "Description", "This is a sample test module that illustrates ModuleTest " + "and uses data formatted for ResourceModule." }, { "Headers", new String[] { "aStringArray", "anIntArray", "aBooleanArray" }}, }}, { "TestData", new Object[][] { { "Test01", new Object[][] { { "Info", new Object[][] { { "Description", "A typical test using both settings and cases." }, { "Long_Description", "It does not defined its own headers, but instead " + "uses the default headers defined for the module. " + "There are two sets of settings and three cases." }, }}, { "Settings", new Object[] { new Object[][] {{ "aString", "this is a string" }, { "anInt", "43" }, { "aBoolean", "false" }}, new Object[][] {{ "aString", "this is another string" }, { "aBoolean", "true" }} }}, { "Cases", new Object[] { new Object[] { new String[] { "one", "two", "three" }, new String[] { "24", "48", "72" }, new String[] { "true", "false", "true" } }, new Object[] { new String[] { "four", "five", "six" }, new String[] { "-1", "-5", "-10" }, new String[] { "true", "false", "false" } }, new Object[] { new String[] { "bagel", "peanuts", "carrot" }, new String[] { "0", "00001", "10101" }, new String[] { "false", "false", "False" } }, }} }}, { "Test02", new Object[][] { { "Info", new Object[][] { { "Description", "A typical test that uses cases but not settings." }, { "Long_Description", "It defines its own headers." }, { "Headers", new String[] { "aString", "anInt", "aBoolean" }}, }}, { "Cases", new Object[] { new Object[] { "Superstring", "42", "true" }, new Object[] { "Underdog", "12", "false" }, new Object[] { "ScoobyDoo", "7", "TrUe" } }} }}, { "Test03", new Object[][] { { "Info", new Object[][] { { "Description", "A typical test that uses just the info, no cases or settings." }, { "Extra", "This is some extra information." } }}, }}, // no Test04 data // Test04 should cause an exception to be thrown since ModuleTestSample does not // specify that it is ok for it to have no data. // no Test05 data // Test05 should just log this fact, since ModuleTestSample indicates that it is // ok for Test05 to have no data in its override of validateMethod. { "Test06", new Object[][] { { "Info", new Object[][] { { "Description", "A test that has bad data." }, { "Long_Description", "This illustrates how a data error will automatically " + "terminate the settings and cases loop." }, { "Headers", new String[] { "IsGood", "Data", }}, }}, { "Cases", new Object[] { new Object[] { "Good", "23" }, new Object[] { "Good", "-123" }, new Object[] { "Bad", "Whoops" }, new Object[] { "Not Executed", "35" }, }}, }}, { "Test07", new Object[][] { { "Info", new Object[][] { { "Description", "A test that fails with a certain combination of settings and case." }, { "Long_Description", "This illustrates how a test error will automatically " + "terminate the settings and cases loop. Settings data is values, the case " + "data is factors. The third factor is not a factor of the second value. " + "The test will log an error, which will automatically stop the loop." }, { "Headers", new String[] { "Factor", }}, }}, { "Settings" , new Object[] { new Object[][] {{ "Value", "210" }}, new Object[][] {{ "Value", "420" }}, new Object[][] {{ "Value", "42" }}, new Object[][] {{ "Value", "Not reached." }} }}, { "Cases", new Object[] { new Object[] { "2" }, new Object[] { "3" }, new Object[] { "5" }, new Object[] { "7" }, }}, }}, { "Test08", new Object[][] { { "Info", new Object[][] { { "Description", "A test with data missing from a test case." }, { "Headers", new String[] { "One", "Two", "Three" }}, }}, { "Cases", new Object[] { new Object[] { "1", "2", "3" }, new Object[] { "4", "5" }, // too short new Object[] { "6", "7", "8" }, }}, }}, { "Test09", new Object[][] { { "Info", new Object[][] { { "Description", "A test with data stored as int arrays instead of strings" }, { "Headers", new String[] { "Radix", "Power", "Value" }}, }}, { "Cases", new Object[] { new Object[] { "2", new int[] { 1, 2, 3 }, new int[] { 2, 4, 8 }}, new Object[] { "3", new int[] { 3, 4, 5 }, new int[] { 27, 81, 243 }}, new Object[] { "2", new int[] { 0, 8, 16, 24 }, new int[] { 1, 256, 65536, 65536 * 256 }}, }}, }}, }}, }; }