### Question:
RDN implements Comparable<RDN> { public String getAttributeName(int pos) { return attributeNames[pos]; } @SuppressWarnings("unchecked")  RDN(AttributeType attributeType, ByteString attributeValue); @SuppressWarnings("unchecked")  RDN(AttributeType attributeType, String attributeName, ByteString attributeValue); @SuppressWarnings("unchecked")  RDN(List<AttributeType> attributeTypes,
             List<String> attributeNames,
             List<ByteString> attributeValues); @SuppressWarnings("unchecked")  RDN(AttributeType[] attributeTypes, String[] attributeNames, ByteString[] attributeValues); static RDN create(AttributeType attributeType, ByteString attributeValue); int getNumValues(); boolean hasAttributeType(AttributeType attributeType); boolean hasAttributeType(String lowerName); AttributeType getAttributeType(int pos); String getAttributeName(int pos); ByteString getAttributeValue(AttributeType attributeType); ByteString getAttributeValue(int pos); boolean isMultiValued(); boolean hasValue(AttributeType type, ByteString value); static RDN decode(String rdnString); RDN duplicate(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); void toString(StringBuilder buffer); ByteStringBuilder toNormalizedByteString(ByteStringBuilder builder); @Override int compareTo(RDN rdn);  }### Answer:
@Test public void testGetAttributeName() throws Exception { AttributeType[] attrTypes = { AT_DC, AT_CN }; String[] attrNames = { AT_DC.getNameOrOID(), AT_CN.getNameOrOID() }; ByteString[] attrValues = { AV_DC_ORG, AV_CN }; RDN rdn = new RDN(attrTypes, attrNames, attrValues); assertEquals(rdn.getAttributeName(0), AT_DC.getNameOrOID()); assertEquals(rdn.getAttributeName(1), AT_CN.getNameOrOID()); }