package org.tynamo.descriptor; import org.testng.Assert; import org.testng.annotations.Test; import org.tynamo.test.Embeddee; import org.tynamo.test.Embeddor; import org.tynamo.test.Foo; public class EmbeddedDescriptorTest extends Assert { @Test public void testClone() throws Exception { EmbeddedDescriptor embeddedDescriptor = new EmbeddedDescriptor(Embeddor.class, new TynamoPropertyDescriptorImpl(Embeddor.class, "embeddee", Embeddee.class), new TynamoClassDescriptorImpl(Embeddee.class)); embeddedDescriptor.getEmbeddedClassDescriptor().getPropertyDescriptors().add(new TynamoPropertyDescriptorImpl(Embeddee.class, "title", String.class)); EmbeddedDescriptor cloned = (EmbeddedDescriptor) embeddedDescriptor.clone(); assertEquals(Embeddor.class, cloned.getBeanType()); assertEquals(Embeddee.class, cloned.getPropertyType()); assertEquals(1, cloned.getEmbeddedClassDescriptor().getPropertyDescriptors().size()); } @Test public void testCopyFromPropertyDescriptor() throws Exception { EmbeddedDescriptor embeddedDescriptor = new EmbeddedDescriptor(Embeddor.class, new TynamoPropertyDescriptorImpl(Embeddor.class, "embeddee", Embeddee.class), new TynamoClassDescriptorImpl(Embeddee.class)); TynamoPropertyDescriptor propertyDescriptor = new TynamoPropertyDescriptorImpl(Foo.class, "blork", String.class); embeddedDescriptor.copyFrom(propertyDescriptor); assertEquals("blork", embeddedDescriptor.getName()); } }