package org.wildfly.extension.messaging.activemq.jms; import static java.beans.Introspector.getBeanInfo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import java.beans.PropertyDescriptor; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; public class AttributesTestBase { protected static void compare(String name1, SortedSet<String> set1, String name2, SortedSet<String> set2) { Set<String> onlyInSet1 = new TreeSet<String>(set1); onlyInSet1.removeAll(set2); Set<String> onlyInSet2 = new TreeSet<String>(set2); onlyInSet2.removeAll(set1); if (!onlyInSet1.isEmpty() || !onlyInSet2.isEmpty()) { fail(String.format("in %s only: %s\nin %s only: %s", name1, onlyInSet1, name2, onlyInSet2)); } assertEquals(set2, set1); } protected SortedSet<String> findAllPropertyNames(Class<?> clazz) throws Exception { SortedSet<String> names = new TreeSet<String>(); for (PropertyDescriptor propDesc : getBeanInfo(clazz).getPropertyDescriptors()) { if (propDesc == null || propDesc.getWriteMethod() == null) { continue; } names.add(propDesc.getDisplayName()); } return names; } }