package com.limegroup.gnutella;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.HashSet;
import java.util.Set;
import junit.framework.Test;
import com.limegroup.gnutella.util.CommonUtils;
/**
* Test the message bundles to ensure uniqueness of keys.
*/
public final class MessageBundleTest extends com.limegroup.gnutella.util.BaseTestCase {
public MessageBundleTest(String name) {
super(name);
}
public static Test suite() {
return buildTestSuite(MessageBundleTest.class);
}
public static void main(String[] args) {
junit.textui.TestRunner.run(suite());
}
public void testUniqueKeys() throws Exception {
File f = CommonUtils.getResourceFile("MessagesBundle.properties");
Set readKeys = new HashSet();
BufferedReader br = new BufferedReader(new FileReader(f));
boolean read = false;
while(true) {
String line = br.readLine();
if(line == null)
break;
read = true;
line = line.trim();
if(line.startsWith("#"))
continue;
else if(line.equals(""))
continue;
int eq = line.indexOf("=");
if(eq == -1)
fail("no '=' in line: " + line + "!");
String key = line.substring(0, eq).trim();
if(readKeys.contains(key))
fail("Duplicate key: " + key);
else
readKeys.add(key);
}
assertTrue("read nothing!", read);
br.close();
}
}