package com.gentleware.uml2.cache.adapter; import java.util.Collection; import junit.framework.TestCase; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import org.eclipse.uml2.common.util.CacheAdapter; import org.eclipse.uml2.uml.Class; import org.eclipse.uml2.uml.Property; import org.eclipse.uml2.uml.UMLFactory; /* * @author mmatthias.koester@gentleware.com */ public class TestCacheAdapter extends TestCase { public void testPropertyClass() { ResourceSet resourceSet = new ResourceSetImpl(); Resource resource = resourceSet.createResource(URI.createFileURI("/tmp/test.uml")); Class testClass = UMLFactory.eINSTANCE.createClass(); resource.getContents().add(testClass); Class testClass1 = UMLFactory.eINSTANCE.createClass(); resource.getContents().add(testClass1); Property attribute = testClass.createOwnedAttribute("test", testClass); CacheAdapter cacheAdapter = CacheAdapter.INSTANCE; Collection inverse = cacheAdapter.getNonNavigableInverseReferences(testClass); assertEquals(2, inverse.size()); testClass1.getOwnedAttributes().add(attribute); attribute.setType(null); assertEquals(testClass1, attribute.getClass_()); inverse = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(testClass); assertTrue(inverse.isEmpty()); } }