@Test
public void testKeys() {

	for( String lang : TranslationBundle.LANGUAGES ) {
		ResourceBundle rb = new TranslationBundle( lang );
		// Error codes
		for( ErrorCode ec : ErrorCode.values()) {
			try {
				String s = rb.getString( ec.name());
				Assert.assertNotNull( lang, s );
			} catch( MissingResourceException e ) {
				Assert.fail( lang + " => " + ec.name());
			}
		}
		// Error details
		for( ErrorDetailsKind detailsKind : ErrorDetailsKind.values()) {
			try {
				String s = rb.getString( detailsKind.name());
				Assert.assertNotNull( lang, s );
			} catch( MissingResourceException e ) {
				Assert.fail( lang + " => " + detailsKind.name());
			}
		}
		// Details separator
		try {
			String s = rb.getString( DETAILS_SEPARATOR );
			Assert.assertNotNull( lang, s );
		} catch( MissingResourceException e ) {
			Assert.fail( lang + " => " + DETAILS_SEPARATOR );
		}
		// Right number of elements
		Assert.assertEquals(
				lang,
				ErrorDetailsKind.values().length + ErrorCode.values().length + 1,
				((TranslationBundle) rb).getContents().length );
	}
}