JBossConsumerBeanMetaData original = new JBossConsumerBeanMetaData();
original.setEjbName("consumer");
List<ProducerMetaData> producers = new ArrayList<ProducerMetaData>();
original.setProducers(producers);
ProducerMetaData producer = new ProducerMetaData();
producer.setClassName("class1");
producer.setConnectionFactory("factory1");
producers.add(producer);
producer = new ProducerMetaData();
producer.setClassName("class2");
producer.setConnectionFactory("factory2");
producers.add(producer);
JBossConsumerBeanMetaData override = new JBossConsumerBeanMetaData();
override.setEjbName("consumer");
producers = new ArrayList<ProducerMetaData>();
override.setProducers(producers);
producer = new ProducerMetaData();
producer.setClassName("class2");
producer.setConnectionFactory("factory3");
producers.add(producer);
producer = new ProducerMetaData();
producer.setClassName("class3");
producer.setConnectionFactory("factory3");
producers.add(producer);
JBossConsumerBeanMetaData merged = new JBossConsumerBeanMetaData();
merged.merge(override, original);
producers = merged.getProducers();
assertNotNull(producers);
assertEquals(4, producers.size());
producer = producers.get(0);
assertNotNull(producer);
assertEquals("class2", producer.getClassName());
assertEquals("factory3", producer.getConnectionFactory());
producer = producers.get(1);
assertNotNull(producer);
assertEquals("class3", producer.getClassName());
assertEquals("factory3", producer.getConnectionFactory());
producer = producers.get(2);
assertNotNull(producer);
assertEquals("class1", producer.getClassName());
assertEquals("factory1", producer.getConnectionFactory());
producer = producers.get(3);
assertNotNull(producer);
assertEquals("class2", producer.getClassName());
assertEquals("factory2", producer.getConnectionFactory());
}