package test;
import java.util.Arrays;
import java.util.List;
import aQute.bnd.header.Attrs;
import aQute.bnd.version.Version;
import junit.framework.TestCase;
public class AttrsTest extends TestCase {
public void testAttrs() {
Attrs attr = new Attrs();
attr.putTyped("xyz", new String[] {
"a", ",b"
});
assertEquals("a,\\,b", attr.get("xyz"));
assertEquals("xyz:List<String>=\"a,\\,b\"", attr.toString());
}
public void testFloats() {
Attrs attr = new Attrs();
attr.putTyped("double", 3.1D);
attr.putTyped("float", 3.1f);
assertEquals(3.1D, attr.getTyped("double"));
assertEquals(3.1D, attr.getTyped("float"));
assertEquals("double:Double=\"3.1\";float:Double=\"3.1\"", attr.toString());
}
public void testNumbers() {
Attrs attr = new Attrs();
attr.putTyped("long", 3L);
attr.putTyped("int", 3);
attr.putTyped("short", (short) 3);
attr.putTyped("byte", (byte) 3);
assertEquals(3L, attr.getTyped("long"));
assertEquals(3L, attr.getTyped("int"));
assertEquals(3L, attr.getTyped("short"));
assertEquals(3L, attr.getTyped("byte"));
assertEquals("long:Long=3;int:Long=3;short:Long=3;byte:Long=3", attr.toString());
}
public void testVersion() {
Attrs attr = new Attrs();
attr.putTyped("version", new Version("1.2.3"));
attr.putTyped("versions", new Version[] {
new Version("1.2.3"), new Version("2.1.0")
});
assertEquals("List<Version>", attr.getType("versions").toString());
assertEquals(new Version("1.2.3"), attr.getTyped("version"));
Object a = attr.getTyped("versions");
List<Version> b = Arrays.asList(new Version[] {
new Version("1.2.3"), new Version("2.1.0")
});
assertEquals(a.toString(), b.toString());
assertEquals("1.2.3", attr.get("version"));
assertEquals("1.2.3,2.1.0", attr.get("versions"));
assertEquals("version:Version=\"1.2.3\";versions:List<Version>=\"1.2.3,2.1.0\"", attr.toString());
}
}