1 package cintoo.messages.bundle.xml; 2 3 import org.testng.annotations.*; 4 import org.testng.Assert; 5 6 import java.util.*; 7 import java.io.InputStream ; 8 import java.io.IOException ; 9 10 import cintoo.messages.bundle.BaseResourceBundleFactory; 11 import cintoo.messages.bundle.BaseResourceBundle; 12 import api.cintoo.messages.bundle.BaseBundle; 13 14 public class TestBaseResourceBundle { 15 16 private Locale locale; 17 private String name; 18 private BaseResourceBundleFactory factory; 19 20 @Configuration(beforeTestMethod = true) 21 public void setUp() { 22 factory = new BaseResourceBundleFactory(); 23 locale = new Locale("de", "de"); 24 name = "testp1"; 25 } 26 27 @Test 28 @ExpectedExceptions( { NullPointerException .class }) 29 public void testNullKey() { 30 ResourceBundle bundle = null; 31 try { 32 bundle = factory.loadBundle(getStream(name, locale), locale); 33 } catch (IOException e) { 34 e.printStackTrace(); 35 } 36 bundle.getObject(null); 37 } 38 39 @Test 40 public void testGetKeys() { 41 ResourceBundle bundle = null; 42 try { 43 bundle = factory.loadBundle(getStream(name, locale), locale); 44 } catch (IOException e) { 45 e.printStackTrace(); 46 } 47 List<String > keys = getList(bundle.getKeys()); 48 Assert.assertEquals(keys.size(), 3, "getKeys returns correct number of keys"); 49 Assert.assertTrue(keys.contains("testKey1"), "getKeys returns correct key"); 50 Assert.assertTrue(keys.contains("testKeyArgs"), "getKeys returns correct key"); 51 Assert.assertTrue(keys.contains("testKeyArgs3"), "getKeys returns correct key"); 52 } 53 54 private List<String > getList(Enumeration enumeration) { 55 List<String > keys = new ArrayList<String >(); 56 while (enumeration.hasMoreElements()) { 57 keys.add((String ) enumeration.nextElement()); 58 } 59 return keys; 60 } 61 62 private InputStream getStream(String name, Locale locale) { 63 List<String > names = factory.expand(name, locale); 64 return this.getClass().getResourceAsStream("/" + names.get(0)); 65 } 66 67 @Test 68 public void testLocale() { 69 ResourceBundle bundle = null; 70 try { 71 bundle = (ResourceBundle) factory.loadBundle(getStream(name, locale), locale); 72 } catch (IOException e) { 73 e.printStackTrace(); 74 } 75 Assert.assertEquals(new Locale("de", "de"), bundle.getLocale()); 76 } 77 78 } 79 | Popular Tags |