| /** |
| ******************************************************************************* |
| * 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 }}, |
| }}, |
| }}, |
| }}, |
| }; |
| } |