assertEquals("join_table_name", annotation.getArgument("name"));
assertEquals(ArgumentValueType.ARRAY, annotation.getArgumentValue("joinColumns").getType());
assertEquals(ArgumentValueType.ARRAY, annotation.getArgumentValue("inverseJoinColumns").getType());
ArrayValue joinColumn = (ArrayValue) annotation.getArgumentValue("joinColumns");
AnnotationValue joinColumnAnnotation = (AnnotationValue) joinColumn.getArgumentValue(0);
assertEquals("JoinColumn", joinColumnAnnotation.getClassName());
assertEquals("Orm\\", joinColumnAnnotation.getNamespace());
assertEquals("join_id", joinColumnAnnotation.getArgument("name"));
assertEquals("id_first", joinColumnAnnotation.getArgument("referencedColumnName"));
ArrayValue inverseJoinColumn = (ArrayValue) annotation.getArgumentValue("inverseJoinColumns");
AnnotationValue inverseJoinColumnAnnotation = (AnnotationValue) inverseJoinColumn.getArgumentValue(0);
assertEquals("JoinColumn", inverseJoinColumnAnnotation.getClassName());
assertEquals("Orm\\", inverseJoinColumnAnnotation.getNamespace());
assertEquals("inverse_id", inverseJoinColumnAnnotation.getArgument("name"));
assertEquals("id_second", inverseJoinColumnAnnotation.getArgument("referencedColumnName"));
}