@Test public void testIntegrationValue() throws DatabindingFailedException { final VFeaturePathDomainModelReference pathReference = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference(); // create reference path to the attribute final LinkedList<EReference> referencePath = new LinkedList<EReference>(); referencePath.add(TestPackage.eINSTANCE.getA_B()); referencePath.add(TestPackage.eINSTANCE.getB_C()); referencePath.add(TestPackage.eINSTANCE.getC_D()); final EStructuralFeature feature = TestPackage.eINSTANCE.getD_X(); pathReference.getDomainModelEReferencePath().addAll(referencePath); pathReference.setDomainModelEFeature(feature); final IValueProperty valueProperty = databindingService.getValueProperty(pathReference, null); // The converter should return an IEMFValueProperty assertTrue(valueProperty instanceof IEMFValueProperty); final IEMFValueProperty emfProperty = (IEMFValueProperty) valueProperty; // Check EStructuralFeature of the property. assertEquals(feature, emfProperty.getStructuralFeature()); // Check correct path. final String expected = "A.b<B> => B.c<C> => C.d<D> => D.x<EString>"; // $NON-NLS-1$ assertEquals(expected, emfProperty.toString()); }