tests made more stable, golden files are created on the fly, order of BLD200206240100
authormkubec@netbeans.org
Thu, 20 Jun 2002 09:01:07 +0000
changeset 8919a318d291aa2
parent 890 545a7588bcb1
child 892 c974ed4f9e2b
tests made more stable, golden files are created on the fly, order of
objects returned from refAllClasses, should not affect test results.
Golden files are created in test workdir and compared by assertFile().
mdr/test/cfg-unit.xml
mdr/test/unit/src/org/netbeans/mdr/test/EventsDataGenerator.java
mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationEvents.java
mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationPreEvents.java
mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributeEvents.java
mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributePreEvents.java
mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstanceEvents.java
mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstancePreEvents.java
     1.1 --- a/mdr/test/cfg-unit.xml	Wed Jun 19 22:12:45 2002 +0000
     1.2 +++ b/mdr/test/cfg-unit.xml	Thu Jun 20 09:01:07 2002 +0000
     1.3 @@ -42,6 +42,7 @@
     1.4      <testbag testattribs="stable,events" executor="code" name="MDR Events">
     1.5          <testset dir="unit/src">
     1.6              <patternset>
     1.7 +                
     1.8                  <include name="org/netbeans/mdr/test/MDRTestExtentPreEvents.class/testCreateMOFExtent"/>
     1.9                  <include name="org/netbeans/mdr/test/MDRTestExtentPreEvents.class/testCreateJavaExtent"/>
    1.10                  <include name="org/netbeans/mdr/test/MDRTestExtentPreEvents.class/testCreateTextExtent"/>
    1.11 @@ -49,12 +50,12 @@
    1.12                  <include name="org/netbeans/mdr/test/MDRTestExtentPreEvents.class/testDeleteJavaExtent"/>
    1.13                  
    1.14                  <include name="org/netbeans/mdr/test/MDRTestExtentEvents.class/testCreateMOFExtent"/>
    1.15 -                <include name="org/netbeans/mdr/test/MDRTestExtentEvents.class/testCreateJavaExtent"/>                
    1.16 +                <include name="org/netbeans/mdr/test/MDRTestExtentEvents.class/testCreateJavaExtent"/>
    1.17                  <include name="org/netbeans/mdr/test/MDRTestExtentEvents.class/testDeleteMOFExtent"/>
    1.18 -                <include name="org/netbeans/mdr/test/MDRTestExtentEvents.class/testDeleteJavaExtent"/>                
    1.19 +                <include name="org/netbeans/mdr/test/MDRTestExtentEvents.class/testDeleteJavaExtent"/>
    1.20                  
    1.21                  <include name="org/netbeans/mdr/test/MDRTestInstanceEvents.class/testCreateInstance"/>
    1.22 -                <include name="org/netbeans/mdr/test/MDRTestInstanceEvents.class/testDeleteInstance"/>        
    1.23 +                <include name="org/netbeans/mdr/test/MDRTestInstanceEvents.class/testDeleteInstance"/>
    1.24                  
    1.25                  <include name="org/netbeans/mdr/test/MDRTestInstancePreEvents.class/testCreateInstance"/>
    1.26                  <include name="org/netbeans/mdr/test/MDRTestInstancePreEvents.class/testDeleteInstance"/>
    1.27 @@ -64,11 +65,12 @@
    1.28                  <include name="org/netbeans/mdr/test/MDRTestAssociationEvents.class/testRemoveAssociation"/>
    1.29                  
    1.30                  <include name="org/netbeans/mdr/test/MDRTestAssociationPreEvents.class/testAddAssociation"/>
    1.31 -                <include name="org/netbeans/mdr/test/MDRTestAssociationPreEvents.class/testRemoveAssociation"/>                                
    1.32 +                <include name="org/netbeans/mdr/test/MDRTestAssociationPreEvents.class/testRemoveAssociation"/>
    1.33 +                
    1.34                  
    1.35                  <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testSetAttribute"/>
    1.36                  <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testSetAttributeCL"/>
    1.37 -                <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testAddRemoveAttribute"/>       
    1.38 +                <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testAddRemoveAttribute"/>
    1.39                  <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testAddRemoveAttributeCL"/>
    1.40                  
    1.41                  <include name="org/netbeans/mdr/test/MDRTestAttributePreEvents.class/testSetAttribute"/>
     2.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/EventsDataGenerator.java	Wed Jun 19 22:12:45 2002 +0000
     2.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/EventsDataGenerator.java	Thu Jun 20 09:01:07 2002 +0000
     2.3 @@ -13,6 +13,8 @@
     2.4  import java.util.List;
     2.5  import java.util.LinkedList;
     2.6  
     2.7 +import java.io.PrintStream;
     2.8 +
     2.9  import org.netbeans.lib.jmi.xmi.*;
    2.10  import org.netbeans.lib.jmi.util.*;
    2.11  
    2.12 @@ -30,7 +32,7 @@
    2.13          extent = pkg;
    2.14      }
    2.15      
    2.16 -    public List generateAssociation(RefAssociation assocProxy, Association assoc) {
    2.17 +    public List generateAssociation(RefAssociation assocProxy, Association assoc, PrintStream ps, boolean planned) {
    2.18          
    2.19          LinkedList ends = new LinkedList();
    2.20          
    2.21 @@ -48,12 +50,11 @@
    2.22          
    2.23          if (assocProxy instanceof Contains) {
    2.24              System.out.println("-----> Creating Contains");
    2.25 +            if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
    2.26 +            ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
    2.27              Namespace nmspc = (Namespace) generateInstance((MofClass) ends.get(0));
    2.28              ModelElement mdlelm = (ModelElement) generateInstance((MofClass) ends.get(1));
    2.29              
    2.30 -            //return assocProxy.refAddLink((Namespace) generateInstance((MofClass) ends.get(0)),
    2.31 -            //                             (ModelElement) generateInstance((MofClass) ends.get(1)));
    2.32 -            
    2.33              assocProxy.refAddLink(nmspc, mdlelm);
    2.34              
    2.35              Iterator nmIter = nmspc.getContents().iterator();
    2.36 @@ -69,31 +70,43 @@
    2.37              
    2.38          } else if (assocProxy instanceof Constrains) {
    2.39              System.out.println("-----> Creating Constrains");
    2.40 +            if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
    2.41 +            ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
    2.42              assocProxy.refAddLink((Constraint) generateInstance((MofClass) ends.get(0)),
    2.43                  (ModelElement) generateInstance((MofClass) ends.get(1)));
    2.44              return ends;
    2.45          } else if (assocProxy instanceof Aliases) {
    2.46              System.out.println("-----> Creating Aliases");
    2.47 +            if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
    2.48 +            ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
    2.49              assocProxy.refAddLink((Import) generateInstance((MofClass) ends.get(0)),
    2.50                  (Namespace) generateInstance((MofClass) ends.get(1)));
    2.51              return ends;
    2.52          } else if (assocProxy instanceof Generalizes) {
    2.53              System.out.println("-----> Creating Generalizes");
    2.54 +            if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
    2.55 +            ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
    2.56              assocProxy.refAddLink((GeneralizableElement) generateInstance((MofClass) ends.get(0)),
    2.57                  (GeneralizableElement) generateInstance((MofClass) ends.get(1)));
    2.58              return ends;
    2.59          } else if (assocProxy instanceof AttachesTo) {
    2.60              System.out.println("-----> Creating AttachesTo");
    2.61 +            if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
    2.62 +            ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
    2.63              assocProxy.refAddLink((ModelElement) generateInstance((MofClass) ends.get(0)),
    2.64                  (Tag) generateInstance((MofClass) ends.get(1)));
    2.65              return ends;
    2.66          } else if (assocProxy instanceof CanRaise) {
    2.67              System.out.println("-----> Creating CanRaise");
    2.68 +            if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
    2.69 +            ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
    2.70              assocProxy.refAddLink((Operation) generateInstance((MofClass) ends.get(0)),
    2.71                  (MofException) generateInstance((MofClass) ends.get(1)));
    2.72              return ends;
    2.73          } else if (assocProxy instanceof IsOfType) {
    2.74              System.out.println("-----> Creating IsOfType");
    2.75 +            if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
    2.76 +            ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
    2.77              assocProxy.refAddLink((Classifier) generateInstance((MofClass) ends.get(0)),
    2.78                  (TypedElement) generateInstance((MofClass) ends.get(1)));
    2.79              return ends;
    2.80 @@ -115,14 +128,21 @@
    2.81       *
    2.82       *
    2.83       */
    2.84 -    public void setAttribute(RefObject refObj) {        
    2.85 +    public void setAttribute(RefObject refObj, PrintStream ps, boolean planned) {        
    2.86          Iterator contents = ((Namespace) refObj.refMetaObject()).getContents().iterator();
    2.87          while (contents.hasNext()) {
    2.88              Object contObj = contents.next();
    2.89              if (contObj instanceof Attribute) {
    2.90                  Object attr = generateAttributeValue((Attribute) contObj);
    2.91                  if ( ((Attribute) contObj).isChangeable() && ((Attribute) contObj).getMultiplicity().getUpper() == 1 ) {
    2.92 +                    if (planned)  ps.println("EVENT_ATTRIBUTE_SET - PLANNED");
    2.93 +                    ps.println("EVENT_ATTRIBUTE_SET - CHANGED: " + ((ModelElement) contObj).getName());
    2.94                      refObj.refSetValue((RefObject) contObj, attr);
    2.95 +                    try {
    2.96 +                       Thread.currentThread().sleep(200);
    2.97 +                    } catch (InterruptedException ie) {
    2.98 +                        // OK
    2.99 +                    }
   2.100                  }
   2.101              }
   2.102          }
   2.103 @@ -132,22 +152,36 @@
   2.104       *
   2.105       *
   2.106       */
   2.107 -    public void addAttribute(RefObject refObj, boolean remove) {
   2.108 +    public void addAttribute(RefObject refObj, boolean remove, PrintStream ps, boolean planned) {
   2.109          Iterator contents = ((Namespace) refObj.refMetaObject()).getContents().iterator();
   2.110          while (contents.hasNext()) {
   2.111              Object contObj = contents.next();
   2.112              if (contObj instanceof Attribute) {
   2.113                  if ( ((Attribute) contObj).isChangeable() && ((Attribute) contObj).getMultiplicity().getUpper() == -1 ) {
   2.114 -                    System.out.println(((ModelElement) contObj).getName());
   2.115 +                    //System.out.println(((ModelElement) contObj).getName());
   2.116                      Classifier type = ((Attribute) contObj).getType();
   2.117                      List attrValues = (List) refObj.refGetValue((RefObject) contObj);
   2.118                      for (int i = 0; i < 5; i++) {
   2.119 -                        Object val = generateValue(type);                        
   2.120 +                        Object val = generateValue(type);
   2.121 +                        if (planned)  ps.println("EVENT_ATTRIBUTE_ADD - PLANNED");
   2.122 +                        ps.println("EVENT_ATTRIBUTE_ADD - CHANGED: " + ((ModelElement) contObj).getName());
   2.123                          attrValues.add(val);
   2.124 +                        try {
   2.125 +                           Thread.currentThread().sleep(200);
   2.126 +                        } catch (InterruptedException ie) {
   2.127 +                            // OK
   2.128 +                        }
   2.129                      }
   2.130                      if (remove) {                        
   2.131                          for (int j = 0; j < 5; j++) {
   2.132 +                            if (planned)  ps.println("EVENT_ATTRIBUTE_REMOVE - PLANNED: " + ((ModelElement) contObj).getName());
   2.133 +                            ps.println("EVENT_ATTRIBUTE_REMOVE - CHANGED");
   2.134                              attrValues.remove(0);
   2.135 +                            try {
   2.136 +                              Thread.currentThread().sleep(200);
   2.137 +                            } catch (InterruptedException ie) {
   2.138 +                                // OK
   2.139 +                            }
   2.140                          }
   2.141                      }
   2.142                  }
     3.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationEvents.java	Wed Jun 19 22:12:45 2002 +0000
     3.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationEvents.java	Thu Jun 20 09:01:07 2002 +0000
     3.3 @@ -10,6 +10,11 @@
     3.4  import java.util.Iterator;
     3.5  import java.util.Collection;
     3.6  
     3.7 +import java.io.File;
     3.8 +import java.io.FileOutputStream;
     3.9 +import java.io.PrintStream;
    3.10 +import java.io.IOException;
    3.11 +
    3.12  import junit.framework.*;
    3.13  import org.netbeans.junit.*;
    3.14  
    3.15 @@ -33,7 +38,8 @@
    3.16      
    3.17      private static final String PKG_NAME = "TEST_MOF";
    3.18      
    3.19 -    private java.io.PrintStream goldenRef = null;
    3.20 +    private PrintStream goldenRef = null;
    3.21 +    private PrintStream goldenPass = null;
    3.22      
    3.23      public MDRTestAssociationEvents(java.lang.String testName) {
    3.24          super(testName);
    3.25 @@ -45,7 +51,6 @@
    3.26      
    3.27      protected void tearDown() {
    3.28          super.tearDown();
    3.29 -        compareReferenceFiles();
    3.30      }
    3.31      
    3.32      // -------------------------------------------------------------------------
    3.33 @@ -54,7 +59,13 @@
    3.34          
    3.35          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    3.36          
    3.37 -        goldenRef = getRef();
    3.38 +        try {
    3.39 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddAssociation.ref")));
    3.40 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddAssociation.pass")));
    3.41 +        } catch (IOException ioe) {
    3.42 +            fail(ioe.toString());
    3.43 +        }
    3.44 +        
    3.45          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    3.46          
    3.47          ((MDRChangeSource) repository).addListener(this);
    3.48 @@ -64,20 +75,35 @@
    3.49          while (iterAssoc.hasNext()) {
    3.50              RefAssociation assocProxy = (RefAssociation) iterAssoc.next();
    3.51              Association metaAssoc = (Association) assocProxy.refMetaObject();
    3.52 -            generator.generateAssociation(assocProxy, metaAssoc);
    3.53 +            generator.generateAssociation(assocProxy, metaAssoc, goldenPass, false);
    3.54          }
    3.55          
    3.56          ((MDRChangeSource) repository).removeListener(this);
    3.57          
    3.58          goldenRef.close();
    3.59 +        goldenPass.close();
    3.60 +        
    3.61 +        try {            
    3.62 +            assertFile(getWorkDirPath() + File.separator + "testAddAssociation.ref",
    3.63 +                       getWorkDirPath() + File.separator + "testAddAssociation.pass",
    3.64 +                       getWorkDirPath() + File.separator + "testAddAssociation.diff");
    3.65 +        } catch (IOException ioe) {
    3.66 +            fail(ioe.toString());
    3.67 +        }
    3.68          
    3.69      }
    3.70      
    3.71 -    public void testRemoveAssociation() {
    3.72 +    public void testRemoveAssociation() {              
    3.73          
    3.74          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    3.75          
    3.76 -        goldenRef = getRef();
    3.77 +        try {
    3.78 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testRemoveAssociation.ref")));
    3.79 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testRemoveAssociation.pass")));
    3.80 +        } catch (IOException ioe) {
    3.81 +            fail(ioe.toString());
    3.82 +        }
    3.83 +        
    3.84          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    3.85          
    3.86          ((MDRChangeSource) repository).addListener(this);
    3.87 @@ -87,26 +113,36 @@
    3.88          while (iterAssoc.hasNext()) {
    3.89              RefAssociation assocProxy = (RefAssociation) iterAssoc.next();
    3.90              Association metaAssoc = (Association) assocProxy.refMetaObject();
    3.91 -            java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc);
    3.92 +            java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc, goldenPass, false);
    3.93              try {
    3.94 -                Thread.currentThread().sleep(50);
    3.95 +                Thread.currentThread().sleep(100);
    3.96              } catch (InterruptedException ie) {
    3.97                  // OK
    3.98              }
    3.99              if (ends != null) {
   3.100 -                assocProxy.refRemoveLink((RefObject) ends.get(0), (RefObject) ends.get(1));
   3.101 +                goldenPass.println("EVENT_ASSOCIATION_REMOVE - CHANGED");
   3.102 +                assocProxy.refRemoveLink((RefObject) ends.get(0), (RefObject) ends.get(1));                
   3.103              }
   3.104          }
   3.105          
   3.106          ((MDRChangeSource) repository).removeListener(this);
   3.107          
   3.108          goldenRef.close();
   3.109 +        goldenPass.close();
   3.110 +        
   3.111 +        try {            
   3.112 +            assertFile(getWorkDirPath() + File.separator + "testRemoveAssociation.ref",
   3.113 +                       getWorkDirPath() + File.separator + "testRemoveAssociation.pass",
   3.114 +                       getWorkDirPath() + File.separator + "testRemoveAssociation.diff");
   3.115 +        } catch (IOException ioe) {
   3.116 +            fail(ioe.toString());
   3.117 +        }
   3.118          
   3.119      }
   3.120      
   3.121      // -------------------------------------------------------------------------
   3.122      
   3.123 -    public void change(MDRChangeEvent e) {
   3.124 +    public void change(MDRChangeEvent e) {        
   3.125          processEvent(e, CHANGED);
   3.126      }
   3.127      
   3.128 @@ -118,7 +154,8 @@
   3.129              if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == PLANNED)) {
   3.130                  goldenRef.println("EVENT_ASSOCIATION_ADD - PLANNED");
   3.131              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == CHANGED)) {
   3.132 -                goldenRef.println("EVENT_ASSOCIATION_ADD - CHANGED: " + ((AssociationEvent) e).getEndName());
   3.133 +                goldenRef.println("EVENT_ASSOCIATION_ADD - CHANGED: " + 
   3.134 +                                  ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
   3.135              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == CANCELED)) {
   3.136                  goldenRef.println("EVENT_ASSOCIATION_ADD - CANCELED");
   3.137              }
   3.138 @@ -126,13 +163,15 @@
   3.139              else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == PLANNED)) {
   3.140                  goldenRef.println("EVENT_ASSOCIATION_SET - PLANNED");
   3.141              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == CHANGED)) {
   3.142 -                goldenRef.println("EVENT_ASSOCIATION_SET - CHANGED: " + ((AssociationEvent) e).getEndName());
   3.143 +                goldenRef.println("EVENT_ASSOCIATION_SET - CHANGED: " + 
   3.144 +                                  ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
   3.145              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == CANCELED)) {
   3.146                  goldenRef.println("EVENT_ASSOCIATION_SET - CANCELED");
   3.147              }
   3.148              // EVENT_ASSOCIATION_REMOVE
   3.149              else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == PLANNED)) {
   3.150 -                goldenRef.println("EVENT_ASSOCIATION_REMOVE - PLANNED: " + ((AssociationEvent) e).getEndName());
   3.151 +                goldenRef.println("EVENT_ASSOCIATION_REMOVE - PLANNED: " + 
   3.152 +                                  ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
   3.153              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == CHANGED)) {
   3.154                  goldenRef.println("EVENT_ASSOCIATION_REMOVE - CHANGED");
   3.155              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == CANCELED)) {
     4.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationPreEvents.java	Wed Jun 19 22:12:45 2002 +0000
     4.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationPreEvents.java	Thu Jun 20 09:01:07 2002 +0000
     4.3 @@ -10,6 +10,11 @@
     4.4  import java.util.Iterator;
     4.5  import java.util.Collection;
     4.6  
     4.7 +import java.io.File;
     4.8 +import java.io.FileOutputStream;
     4.9 +import java.io.PrintStream;
    4.10 +import java.io.IOException;
    4.11 +
    4.12  import junit.framework.*;
    4.13  import org.netbeans.junit.*;
    4.14  
    4.15 @@ -33,7 +38,8 @@
    4.16      
    4.17      private static final String PKG_NAME = "TEST_MOF";
    4.18      
    4.19 -    private java.io.PrintStream goldenRef = null;
    4.20 +    private PrintStream goldenRef = null;
    4.21 +    private PrintStream goldenPass = null;
    4.22      
    4.23      public MDRTestAssociationPreEvents(java.lang.String testName) {
    4.24          super(testName);
    4.25 @@ -45,7 +51,6 @@
    4.26      
    4.27      protected void tearDown() {
    4.28          super.tearDown();
    4.29 -        compareReferenceFiles();
    4.30      }
    4.31      
    4.32      // -------------------------------------------------------------------------
    4.33 @@ -54,7 +59,51 @@
    4.34          
    4.35          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    4.36          
    4.37 -        goldenRef = getRef();
    4.38 +        try {
    4.39 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddAssociation.ref")));
    4.40 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddAssociation.pass")));
    4.41 +        } catch (IOException ioe) {
    4.42 +            fail(ioe.toString());
    4.43 +        }
    4.44 +        
    4.45 +        EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    4.46 +        
    4.47 +        ((MDRChangeSource) repository).addListener(this);
    4.48 +        
    4.49 +        Collection allMOFAssociations = testMOFPackage.refAllAssociations();
    4.50 +        Iterator iterAssoc = allMOFAssociations.iterator();
    4.51 +        while (iterAssoc.hasNext()) {
    4.52 +            RefAssociation assocProxy = (RefAssociation) iterAssoc.next();
    4.53 +            Association metaAssoc = (Association) assocProxy.refMetaObject();            
    4.54 +            generator.generateAssociation(assocProxy, metaAssoc, goldenPass, true);
    4.55 +        }
    4.56 +        
    4.57 +        ((MDRChangeSource) repository).removeListener(this);
    4.58 +        
    4.59 +        goldenRef.close();
    4.60 +        goldenPass.close();
    4.61 +        
    4.62 +        try {            
    4.63 +            assertFile(getWorkDirPath() + File.separator + "testAddAssociation.ref",
    4.64 +                       getWorkDirPath() + File.separator + "testAddAssociation.pass",
    4.65 +                       getWorkDirPath() + File.separator + "testAddAssociation.diff");
    4.66 +        } catch (IOException ioe) {
    4.67 +            fail(ioe.toString());
    4.68 +        }
    4.69 +        
    4.70 +    }
    4.71 +    
    4.72 +    public void testRemoveAssociation() {
    4.73 +        
    4.74 +        RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    4.75 +        
    4.76 +        try {
    4.77 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testRemoveAssociation.ref")));
    4.78 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testRemoveAssociation.pass")));
    4.79 +        } catch (IOException ioe) {
    4.80 +            fail(ioe.toString());
    4.81 +        }
    4.82 +        
    4.83          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    4.84          
    4.85          ((MDRChangeSource) repository).addListener(this);
    4.86 @@ -64,36 +113,15 @@
    4.87          while (iterAssoc.hasNext()) {
    4.88              RefAssociation assocProxy = (RefAssociation) iterAssoc.next();
    4.89              Association metaAssoc = (Association) assocProxy.refMetaObject();
    4.90 -            generator.generateAssociation(assocProxy, metaAssoc);
    4.91 -        }
    4.92 -        
    4.93 -        ((MDRChangeSource) repository).removeListener(this);
    4.94 -        
    4.95 -        goldenRef.close();
    4.96 -        
    4.97 -    }
    4.98 -    
    4.99 -    public void testRemoveAssociation() {
   4.100 -        
   4.101 -        RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
   4.102 -        
   4.103 -        goldenRef = getRef();
   4.104 -        EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
   4.105 -        
   4.106 -        ((MDRChangeSource) repository).addListener(this);
   4.107 -        
   4.108 -        Collection allMOFAssociations = testMOFPackage.refAllAssociations();
   4.109 -        Iterator iterAssoc = allMOFAssociations.iterator();
   4.110 -        while (iterAssoc.hasNext()) {
   4.111 -            RefAssociation assocProxy = (RefAssociation) iterAssoc.next();
   4.112 -            Association metaAssoc = (Association) assocProxy.refMetaObject();
   4.113 -            java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc);
   4.114 +            java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc, goldenPass, true);
   4.115              try {
   4.116 -                Thread.currentThread().sleep(50);
   4.117 +                Thread.currentThread().sleep(100);
   4.118              } catch (InterruptedException ie) {
   4.119                  // OK
   4.120              }
   4.121              if (ends != null) {
   4.122 +                goldenPass.println("EVENT_ASSOCIATION_REMOVE - PLANNED: " + metaAssoc.getName());
   4.123 +                goldenPass.println("EVENT_ASSOCIATION_REMOVE - CHANGED");
   4.124                  assocProxy.refRemoveLink((RefObject) ends.get(0), (RefObject) ends.get(1));
   4.125              }
   4.126          }
   4.127 @@ -101,6 +129,15 @@
   4.128          ((MDRChangeSource) repository).removeListener(this);
   4.129          
   4.130          goldenRef.close();
   4.131 +        goldenPass.close();
   4.132 +        
   4.133 +        try {            
   4.134 +            assertFile(getWorkDirPath() + File.separator + "testRemoveAssociation.ref",
   4.135 +                       getWorkDirPath() + File.separator + "testRemoveAssociation.pass",
   4.136 +                       getWorkDirPath() + File.separator + "testRemoveAssociation.diff");
   4.137 +        } catch (IOException ioe) {
   4.138 +            fail(ioe.toString());
   4.139 +        }
   4.140          
   4.141      }
   4.142      
   4.143 @@ -131,7 +168,8 @@
   4.144              if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == PLANNED)) {
   4.145                  goldenRef.println("EVENT_ASSOCIATION_ADD - PLANNED");
   4.146              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == CHANGED)) {
   4.147 -                goldenRef.println("EVENT_ASSOCIATION_ADD - CHANGED: " + ((AssociationEvent) e).getEndName());
   4.148 +                goldenRef.println("EVENT_ASSOCIATION_ADD - CHANGED: " + 
   4.149 +                                  ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
   4.150              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == CANCELED)) {
   4.151                  goldenRef.println("EVENT_ASSOCIATION_ADD - CANCELED");
   4.152              }
   4.153 @@ -139,13 +177,15 @@
   4.154              else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == PLANNED)) {
   4.155                  goldenRef.println("EVENT_ASSOCIATION_SET - PLANNED");
   4.156              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == CHANGED)) {
   4.157 -                goldenRef.println("EVENT_ASSOCIATION_SET - CHANGED: " + ((AssociationEvent) e).getEndName());
   4.158 +                goldenRef.println("EVENT_ASSOCIATION_SET - CHANGED: " + 
   4.159 +                                  ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
   4.160              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == CANCELED)) {
   4.161                  goldenRef.println("EVENT_ASSOCIATION_SET - CANCELED");
   4.162              }
   4.163              // EVENT_ASSOCIATION_REMOVE
   4.164              else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == PLANNED)) {
   4.165 -                goldenRef.println("EVENT_ASSOCIATION_REMOVE - PLANNED: " + ((AssociationEvent) e).getEndName());
   4.166 +                goldenRef.println("EVENT_ASSOCIATION_REMOVE - PLANNED: " + 
   4.167 +                                  ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
   4.168              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == CHANGED)) {
   4.169                  goldenRef.println("EVENT_ASSOCIATION_REMOVE - CHANGED");
   4.170              } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == CANCELED)) {
     5.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributeEvents.java	Wed Jun 19 22:12:45 2002 +0000
     5.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributeEvents.java	Thu Jun 20 09:01:07 2002 +0000
     5.3 @@ -10,6 +10,11 @@
     5.4  import java.util.Iterator;
     5.5  import java.util.Collection;
     5.6  
     5.7 +import java.io.File;
     5.8 +import java.io.FileOutputStream;
     5.9 +import java.io.PrintStream;
    5.10 +import java.io.IOException;
    5.11 +
    5.12  import junit.framework.*;
    5.13  import org.netbeans.junit.*;
    5.14  
    5.15 @@ -33,7 +38,8 @@
    5.16      
    5.17      private static final String PKG_NAME = "TEST_MOF";
    5.18      
    5.19 -    private java.io.PrintStream goldenRef = null;    
    5.20 +    private PrintStream goldenRef = null;
    5.21 +    private PrintStream goldenPass = null;
    5.22      
    5.23      public MDRTestAttributeEvents(java.lang.String testName) {
    5.24          super(testName);
    5.25 @@ -45,7 +51,6 @@
    5.26      
    5.27      protected void tearDown() {
    5.28          super.tearDown();
    5.29 -        compareReferenceFiles();
    5.30      }
    5.31      
    5.32      // -------------------------------------------------------------------------
    5.33 @@ -53,8 +58,14 @@
    5.34      public void testAddRemoveAttribute() {
    5.35          
    5.36          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    5.37 +                
    5.38 +        try {
    5.39 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttribute.ref")));
    5.40 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttribute.pass")));
    5.41 +        } catch (IOException ioe) {
    5.42 +            fail(ioe.toString());
    5.43 +        }
    5.44          
    5.45 -        goldenRef = getRef();
    5.46          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    5.47          
    5.48          ((MDRChangeSource) repository).addListener(this);
    5.49 @@ -68,7 +79,7 @@
    5.50              if (!metaClass.isAbstract()) {
    5.51                  log("Creating instance for class: " + metaClass.getName());
    5.52                  newRefObj = generator.generateInstance(metaClass);
    5.53 -                generator.addAttribute(newRefObj, true);
    5.54 +                generator.addAttribute(newRefObj, true, goldenPass, false);
    5.55              } else {
    5.56                  log("Abstract class: " + metaClass.getName());
    5.57              }
    5.58 @@ -77,6 +88,15 @@
    5.59          ((MDRChangeSource) repository).removeListener(this);
    5.60          
    5.61          goldenRef.close();
    5.62 +        goldenPass.close();
    5.63 +        
    5.64 +        try {            
    5.65 +            assertFile(getWorkDirPath() + File.separator + "testAddRemoveAttribute.ref",
    5.66 +                       getWorkDirPath() + File.separator + "testAddRemoveAttribute.pass",
    5.67 +                       getWorkDirPath() + File.separator + "testAddRemoveAttribute.diff");
    5.68 +        } catch (IOException ioe) {
    5.69 +            fail(ioe.toString());
    5.70 +        }
    5.71          
    5.72      }
    5.73      
    5.74 @@ -84,7 +104,13 @@
    5.75          
    5.76          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    5.77          
    5.78 -        goldenRef = getRef();
    5.79 +        try {
    5.80 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttributeCL.ref")));
    5.81 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttributeCL.pass")));
    5.82 +        } catch (IOException ioe) {
    5.83 +            fail(ioe.toString());
    5.84 +        }
    5.85 +        
    5.86          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    5.87          
    5.88          MDRAttributeListener listener = new MDRAttributeListener();
    5.89 @@ -100,15 +126,24 @@
    5.90                  log("Creating instance for class: " + metaClass.getName());
    5.91                  newRefObj = generator.generateInstance(metaClass);
    5.92                  ((MDRChangeSource) newRefObj).addListener(listener);
    5.93 -                generator.addAttribute(newRefObj, true);
    5.94 +                generator.addAttribute(newRefObj, true, goldenPass, false);
    5.95              } else {
    5.96                  log("Abstract class: " + metaClass.getName());
    5.97              }
    5.98          }
    5.99          
   5.100 -        ((MDRChangeSource) newRefObj).removeListener(listener);        
   5.101 +        ((MDRChangeSource) newRefObj).removeListener(listener);
   5.102          
   5.103          goldenRef.close();
   5.104 +        goldenPass.close();
   5.105 +        
   5.106 +        try {
   5.107 +            assertFile(getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.ref",
   5.108 +                       getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.pass",
   5.109 +                       getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.diff");
   5.110 +        } catch (IOException ioe) {
   5.111 +            fail(ioe.toString());
   5.112 +        }
   5.113          
   5.114      }
   5.115      
   5.116 @@ -116,7 +151,13 @@
   5.117          
   5.118          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
   5.119          
   5.120 -        goldenRef = getRef();
   5.121 +        try {
   5.122 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttribute.ref")));
   5.123 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttribute.pass")));
   5.124 +        } catch (IOException ioe) {
   5.125 +            fail(ioe.toString());
   5.126 +        }
   5.127 +        
   5.128          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
   5.129          
   5.130          ((MDRChangeSource) repository).addListener(this);
   5.131 @@ -130,7 +171,7 @@
   5.132              if (!metaClass.isAbstract()) {
   5.133                  log("Creating instance for class: " + metaClass.getName());
   5.134                  newRefObj = generator.generateInstance(metaClass);
   5.135 -                generator.setAttribute(newRefObj);
   5.136 +                generator.setAttribute(newRefObj, goldenPass, false);
   5.137              } else {
   5.138                  log("Abstract class: " + metaClass.getName());
   5.139              }
   5.140 @@ -139,6 +180,15 @@
   5.141          ((MDRChangeSource) repository).removeListener(this);
   5.142          
   5.143          goldenRef.close();
   5.144 +        goldenPass.close();
   5.145 +        
   5.146 +        try {
   5.147 +            assertFile(getWorkDirPath() + File.separator + "testSetAttribute.ref",
   5.148 +                       getWorkDirPath() + File.separator + "testSetAttribute.pass",
   5.149 +                       getWorkDirPath() + File.separator + "testSetAttribute.diff");
   5.150 +        } catch (IOException ioe) {
   5.151 +            fail(ioe.toString());
   5.152 +        }
   5.153          
   5.154      }
   5.155      
   5.156 @@ -146,7 +196,13 @@
   5.157          
   5.158          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
   5.159          
   5.160 -        goldenRef = getRef();
   5.161 +        try {
   5.162 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttributeCL.ref")));
   5.163 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttributeCL.pass")));
   5.164 +        } catch (IOException ioe) {
   5.165 +            fail(ioe.toString());
   5.166 +        }
   5.167 +        
   5.168          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
   5.169          
   5.170          MDRAttributeListener listener = new MDRAttributeListener();
   5.171 @@ -163,7 +219,7 @@
   5.172                  newRefObj = generator.generateInstance(metaClass);
   5.173                  // listening on class instance and repository too
   5.174                  ((MDRChangeSource) newRefObj).addListener(listener);                
   5.175 -                generator.setAttribute(newRefObj);
   5.176 +                generator.setAttribute(newRefObj, goldenPass, false);
   5.177              } else {
   5.178                  log("Abstract class: " + metaClass.getName());
   5.179              }
   5.180 @@ -172,9 +228,18 @@
   5.181          ((MDRChangeSource) newRefObj).removeListener(listener);        
   5.182          
   5.183          goldenRef.close();
   5.184 +        goldenPass.close();
   5.185 +        
   5.186 +        try {
   5.187 +            assertFile(getWorkDirPath() + File.separator + "testSetAttributeCL.ref",
   5.188 +                       getWorkDirPath() + File.separator + "testSetAttributeCL.pass",
   5.189 +                       getWorkDirPath() + File.separator + "testSetAttributeCL.diff");
   5.190 +        } catch (IOException ioe) {
   5.191 +            fail(ioe.toString());
   5.192 +        }
   5.193          
   5.194      }
   5.195 -    
   5.196 +
   5.197      // -------------------------------------------------------------------------
   5.198      
   5.199      public void change(MDRChangeEvent e) {
     6.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributePreEvents.java	Wed Jun 19 22:12:45 2002 +0000
     6.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributePreEvents.java	Thu Jun 20 09:01:07 2002 +0000
     6.3 @@ -10,6 +10,11 @@
     6.4  import java.util.Iterator;
     6.5  import java.util.Collection;
     6.6  
     6.7 +import java.io.File;
     6.8 +import java.io.FileOutputStream;
     6.9 +import java.io.PrintStream;
    6.10 +import java.io.IOException;
    6.11 +
    6.12  import junit.framework.*;
    6.13  import org.netbeans.junit.*;
    6.14  
    6.15 @@ -33,7 +38,8 @@
    6.16      
    6.17      private static final String PKG_NAME = "TEST_MOF";
    6.18      
    6.19 -    private java.io.PrintStream goldenRef = null;
    6.20 +    private PrintStream goldenRef = null;
    6.21 +    private PrintStream goldenPass = null;
    6.22      
    6.23      public MDRTestAttributePreEvents(java.lang.String testName) {
    6.24          super(testName);
    6.25 @@ -45,7 +51,6 @@
    6.26      
    6.27      protected void tearDown() {
    6.28          super.tearDown();
    6.29 -        compareReferenceFiles();
    6.30      }
    6.31      
    6.32      // -------------------------------------------------------------------------
    6.33 @@ -54,7 +59,13 @@
    6.34          
    6.35          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    6.36          
    6.37 -        goldenRef = getRef();
    6.38 +        try {
    6.39 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttribute.ref")));
    6.40 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttribute.pass")));
    6.41 +        } catch (IOException ioe) {
    6.42 +            fail(ioe.toString());
    6.43 +        }
    6.44 +        
    6.45          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    6.46          
    6.47          ((MDRChangeSource) repository).addListener(this);
    6.48 @@ -68,7 +79,7 @@
    6.49              if (!metaClass.isAbstract()) {
    6.50                  log("Creating instance for class: " + metaClass.getName());
    6.51                  newRefObj = generator.generateInstance(metaClass);
    6.52 -                generator.setAttribute(newRefObj);
    6.53 +                generator.setAttribute(newRefObj, goldenPass, true);
    6.54              } else {
    6.55                  log("Abstract class: " + metaClass.getName());
    6.56              }
    6.57 @@ -77,6 +88,15 @@
    6.58          ((MDRChangeSource) repository).removeListener(this);
    6.59          
    6.60          goldenRef.close();
    6.61 +        goldenPass.close();
    6.62 +        
    6.63 +        try {            
    6.64 +            assertFile(getWorkDirPath() + File.separator + "testSetAttribute.ref",
    6.65 +                       getWorkDirPath() + File.separator + "testSetAttribute.pass",
    6.66 +                       getWorkDirPath() + File.separator + "testSetAttribute.diff");
    6.67 +        } catch (IOException ioe) {
    6.68 +            fail(ioe.toString());
    6.69 +        }
    6.70          
    6.71      }
    6.72      
    6.73 @@ -84,7 +104,13 @@
    6.74          
    6.75          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    6.76          
    6.77 -        goldenRef = getRef();
    6.78 +        try {
    6.79 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttributeCL.ref")));
    6.80 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttributeCL.pass")));
    6.81 +        } catch (IOException ioe) {
    6.82 +            fail(ioe.toString());
    6.83 +        }
    6.84 +        
    6.85          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    6.86                  
    6.87          MDRAttributePreListener listener = new MDRAttributePreListener("test");
    6.88 @@ -101,7 +127,7 @@
    6.89                  newRefObj = generator.generateInstance(metaClass);
    6.90                  // listening on class instance and repository too
    6.91                  ((MDRChangeSource) newRefObj).addListener(listener);                
    6.92 -                generator.setAttribute(newRefObj);
    6.93 +                generator.setAttribute(newRefObj, goldenPass, true);
    6.94              } else {
    6.95                  log("Abstract class: " + metaClass.getName());
    6.96              }
    6.97 @@ -110,6 +136,15 @@
    6.98          ((MDRChangeSource) newRefObj).removeListener(listener);        
    6.99          
   6.100          goldenRef.close();
   6.101 +        goldenPass.close();
   6.102 +        
   6.103 +        try {            
   6.104 +            assertFile(getWorkDirPath() + File.separator + "testSetAttributeCL.ref",
   6.105 +                       getWorkDirPath() + File.separator + "testSetAttributeCL.pass",
   6.106 +                       getWorkDirPath() + File.separator + "testSetAttributeCL.diff");
   6.107 +        } catch (IOException ioe) {
   6.108 +            fail(ioe.toString());
   6.109 +        }
   6.110          
   6.111      }
   6.112      
   6.113 @@ -117,7 +152,13 @@
   6.114          
   6.115          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
   6.116          
   6.117 -        goldenRef = getRef();
   6.118 +        try {
   6.119 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttribute.ref")));
   6.120 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttribute.pass")));
   6.121 +        } catch (IOException ioe) {
   6.122 +            fail(ioe.toString());
   6.123 +        }
   6.124 +        
   6.125          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
   6.126          
   6.127          ((MDRChangeSource) repository).addListener(this);
   6.128 @@ -131,7 +172,7 @@
   6.129              if (!metaClass.isAbstract()) {
   6.130                  log("Creating instance for class: " + metaClass.getName());
   6.131                  newRefObj = generator.generateInstance(metaClass);
   6.132 -                generator.addAttribute(newRefObj, true);
   6.133 +                generator.addAttribute(newRefObj, true, goldenPass, true);
   6.134              } else {
   6.135                  log("Abstract class: " + metaClass.getName());
   6.136              }
   6.137 @@ -140,6 +181,15 @@
   6.138          ((MDRChangeSource) repository).removeListener(this);
   6.139          
   6.140          goldenRef.close();
   6.141 +        goldenPass.close();
   6.142 +        
   6.143 +        try {            
   6.144 +            assertFile(getWorkDirPath() + File.separator + "testAddRemoveAttribute.ref",
   6.145 +                       getWorkDirPath() + File.separator + "testAddRemoveAttribute.pass",
   6.146 +                       getWorkDirPath() + File.separator + "testAddRemoveAttribute.diff");
   6.147 +        } catch (IOException ioe) {
   6.148 +            fail(ioe.toString());
   6.149 +        }
   6.150          
   6.151      }
   6.152      
   6.153 @@ -147,7 +197,13 @@
   6.154          
   6.155          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
   6.156          
   6.157 -        goldenRef = getRef();
   6.158 +        try {
   6.159 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttributeCL.ref")));
   6.160 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttributeCL.pass")));
   6.161 +        } catch (IOException ioe) {
   6.162 +            fail(ioe.toString());
   6.163 +        }
   6.164 +        
   6.165          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
   6.166          
   6.167          MDRAttributePreListener listener = new MDRAttributePreListener("test");
   6.168 @@ -163,7 +219,7 @@
   6.169                  log("Creating instance for class: " + metaClass.getName());
   6.170                  newRefObj = generator.generateInstance(metaClass);
   6.171                  ((MDRChangeSource) newRefObj).addListener(listener);
   6.172 -                generator.addAttribute(newRefObj, true);
   6.173 +                generator.addAttribute(newRefObj, true, goldenPass, true);
   6.174              } else {
   6.175                  log("Abstract class: " + metaClass.getName());
   6.176              }
   6.177 @@ -172,6 +228,15 @@
   6.178          ((MDRChangeSource) newRefObj).removeListener(listener);
   6.179          
   6.180          goldenRef.close();
   6.181 +        goldenPass.close();
   6.182 +        
   6.183 +        try {            
   6.184 +            assertFile(getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.ref",
   6.185 +                       getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.pass",
   6.186 +                       getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.diff");
   6.187 +        } catch (IOException ioe) {
   6.188 +            fail(ioe.toString());
   6.189 +        }
   6.190          
   6.191      }
   6.192      
     7.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstanceEvents.java	Wed Jun 19 22:12:45 2002 +0000
     7.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstanceEvents.java	Thu Jun 20 09:01:07 2002 +0000
     7.3 @@ -10,6 +10,11 @@
     7.4  import java.util.Iterator;
     7.5  import java.util.Collection;
     7.6  
     7.7 +import java.io.File;
     7.8 +import java.io.FileOutputStream;
     7.9 +import java.io.PrintStream;
    7.10 +import java.io.IOException;
    7.11 +
    7.12  import junit.framework.*;
    7.13  import org.netbeans.junit.*;
    7.14  
    7.15 @@ -33,7 +38,8 @@
    7.16      
    7.17      private static final String PKG_NAME = "TEST_MOF";
    7.18      
    7.19 -    private java.io.PrintStream goldenRef = null;
    7.20 +    private PrintStream goldenRef = null;
    7.21 +    private PrintStream goldenPass = null;
    7.22      
    7.23      public MDRTestInstanceEvents(java.lang.String testName) {
    7.24          super(testName);
    7.25 @@ -45,7 +51,6 @@
    7.26      
    7.27      protected void tearDown() {
    7.28          super.tearDown();
    7.29 -        compareReferenceFiles();
    7.30      }
    7.31      
    7.32      // -------------------------------------------------------------------------
    7.33 @@ -54,7 +59,13 @@
    7.34          
    7.35          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    7.36                  
    7.37 -        goldenRef = getRef();
    7.38 +        try {
    7.39 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstance.ref")));
    7.40 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstance.pass")));
    7.41 +        } catch (IOException ioe) {
    7.42 +            fail(ioe.toString());
    7.43 +        }
    7.44 +        
    7.45          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    7.46          
    7.47          ((MDRChangeSource) repository).addListener(this);
    7.48 @@ -67,9 +78,10 @@
    7.49              MofClass metaClass = (MofClass) clsProxy.refMetaObject();
    7.50              if (!metaClass.isAbstract()) {
    7.51                  log("Creating instance for class: " + metaClass.getName());
    7.52 +                goldenPass.println("EVENT_INSTANCE_CREATE - CHANGED: " + metaClass.getName());
    7.53                  newRefObj = generator.generateInstance(metaClass);
    7.54                  try {
    7.55 -                    Thread.currentThread().sleep(50);
    7.56 +                    Thread.currentThread().sleep(100);
    7.57                  } catch (InterruptedException ie) {
    7.58                      // OK
    7.59                  }
    7.60 @@ -81,6 +93,15 @@
    7.61          ((MDRChangeSource) repository).removeListener(this);
    7.62          
    7.63          goldenRef.close();
    7.64 +        goldenPass.close();
    7.65 +        
    7.66 +        try {            
    7.67 +            assertFile(getWorkDirPath() + File.separator + "testCreateInstance.ref",
    7.68 +                       getWorkDirPath() + File.separator + "testCreateInstance.pass",
    7.69 +                       getWorkDirPath() + File.separator + "testCreateInstance.diff");
    7.70 +        } catch (IOException ioe) {
    7.71 +            fail(ioe.toString());
    7.72 +        }
    7.73                 
    7.74      }
    7.75      
    7.76 @@ -88,7 +109,13 @@
    7.77          
    7.78          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    7.79          
    7.80 -        goldenRef = getRef();
    7.81 +        try {
    7.82 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testDeleteInstance.ref")));
    7.83 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testDeleteInstance.pass")));
    7.84 +        } catch (IOException ioe) {
    7.85 +            fail(ioe.toString());
    7.86 +        }
    7.87 +        
    7.88          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    7.89          
    7.90          ((MDRChangeSource) repository).addListener(this);
    7.91 @@ -101,9 +128,11 @@
    7.92              MofClass metaClass = (MofClass) clsProxy.refMetaObject();
    7.93              if (!metaClass.isAbstract()) {
    7.94                  log("Creating instance for class: " + metaClass.getName());
    7.95 +                goldenPass.println("EVENT_INSTANCE_CREATE - CHANGED: " + metaClass.getName());
    7.96 +                goldenPass.println("EVENT_INSTANCE_DELETE - CHANGED");
    7.97                  newRefObj = generator.generateInstance(metaClass);
    7.98                  try {
    7.99 -                    Thread.currentThread().sleep(50);
   7.100 +                    Thread.currentThread().sleep(150);
   7.101                  } catch (InterruptedException ie) {
   7.102                      // OK
   7.103                  }
   7.104 @@ -116,7 +145,16 @@
   7.105          
   7.106          ((MDRChangeSource) repository).removeListener(this);
   7.107          
   7.108 -        goldenRef.close();        
   7.109 +        goldenRef.close();
   7.110 +        goldenPass.close();
   7.111 +        
   7.112 +        try {            
   7.113 +            assertFile(getWorkDirPath() + File.separator + "testDeleteInstance.ref",
   7.114 +                       getWorkDirPath() + File.separator + "testDeleteInstance.pass",
   7.115 +                       getWorkDirPath() + File.separator + "testDeleteInstance.diff");
   7.116 +        } catch (IOException ioe) {
   7.117 +            fail(ioe.toString());
   7.118 +        }
   7.119          
   7.120      }
   7.121      
     8.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstancePreEvents.java	Wed Jun 19 22:12:45 2002 +0000
     8.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstancePreEvents.java	Thu Jun 20 09:01:07 2002 +0000
     8.3 @@ -10,6 +10,11 @@
     8.4  import java.util.Iterator;
     8.5  import java.util.Collection;
     8.6  
     8.7 +import java.io.File;
     8.8 +import java.io.FileOutputStream;
     8.9 +import java.io.PrintStream;
    8.10 +import java.io.IOException;
    8.11 +
    8.12  import junit.framework.*;
    8.13  import org.netbeans.junit.*;
    8.14  
    8.15 @@ -33,7 +38,8 @@
    8.16      
    8.17      private static final String PKG_NAME = "TEST_MOF";
    8.18      
    8.19 -    private java.io.PrintStream goldenRef = null;
    8.20 +    private PrintStream goldenRef = null;
    8.21 +    private PrintStream goldenPass = null;
    8.22      
    8.23      public MDRTestInstancePreEvents(java.lang.String testName) {
    8.24          super(testName);
    8.25 @@ -45,7 +51,6 @@
    8.26      
    8.27      protected void tearDown() {
    8.28          super.tearDown();
    8.29 -        compareReferenceFiles();
    8.30      }
    8.31      
    8.32      // -------------------------------------------------------------------------
    8.33 @@ -53,8 +58,14 @@
    8.34      public void testCreateInstance() {
    8.35          
    8.36          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    8.37 +                
    8.38 +        try {
    8.39 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstance.ref")));
    8.40 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstance.pass")));
    8.41 +        } catch (IOException ioe) {
    8.42 +            fail(ioe.toString());
    8.43 +        }
    8.44          
    8.45 -        goldenRef = getRef();
    8.46          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    8.47          
    8.48          ((MDRChangeSource) repository).addListener(this);
    8.49 @@ -67,9 +78,11 @@
    8.50              MofClass metaClass = (MofClass) clsProxy.refMetaObject();
    8.51              if (!metaClass.isAbstract()) {
    8.52                  log("Creating instance for class: " + metaClass.getName());
    8.53 +                goldenPass.println("EVENT_INSTANCE_CREATE - PLANNED");
    8.54 +                goldenPass.println("EVENT_INSTANCE_CREATE - CHANGED: " + metaClass.getName());
    8.55                  newRefObj = generator.generateInstance(metaClass);
    8.56                  try {
    8.57 -                    Thread.currentThread().sleep(50);
    8.58 +                    Thread.currentThread().sleep(100);
    8.59                  } catch (InterruptedException ie) {
    8.60                      // OK
    8.61                  }
    8.62 @@ -80,15 +93,30 @@
    8.63          
    8.64          ((MDRChangeSource) repository).removeListener(this);
    8.65          
    8.66 -        goldenRef.close();        
    8.67 +        goldenRef.close();
    8.68 +        goldenPass.close();
    8.69 +        
    8.70 +        try {            
    8.71 +            assertFile(getWorkDirPath() + File.separator + "testCreateInstance.ref",
    8.72 +                       getWorkDirPath() + File.separator + "testCreateInstance.pass",
    8.73 +                       getWorkDirPath() + File.separator + "testCreateInstance.diff");
    8.74 +        } catch (IOException ioe) {
    8.75 +            fail(ioe.toString());
    8.76 +        }
    8.77          
    8.78      }
    8.79      
    8.80      public void testDeleteInstance() {
    8.81          
    8.82          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
    8.83 +                
    8.84 +        try {
    8.85 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testDeleteInstance.ref")));
    8.86 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testDeleteInstance.pass")));
    8.87 +        } catch (IOException ioe) {
    8.88 +            fail(ioe.toString());
    8.89 +        }
    8.90          
    8.91 -        goldenRef = getRef();
    8.92          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
    8.93          
    8.94          ((MDRChangeSource) repository).addListener(this);
    8.95 @@ -101,9 +129,13 @@
    8.96              MofClass metaClass = (MofClass) clsProxy.refMetaObject();
    8.97              if (!metaClass.isAbstract()) {
    8.98                  log("Creating instance for class: " + metaClass.getName());
    8.99 -                newRefObj = generator.generateInstance(metaClass);                                
   8.100 +                goldenPass.println("EVENT_INSTANCE_CREATE - PLANNED");
   8.101 +                goldenPass.println("EVENT_INSTANCE_CREATE - CHANGED: " + metaClass.getName());
   8.102 +                goldenPass.println("EVENT_INSTANCE_DELETE - PLANNED: " + metaClass.getName());
   8.103 +                goldenPass.println("EVENT_INSTANCE_DELETE - CHANGED");
   8.104 +                newRefObj = generator.generateInstance(metaClass);  
   8.105                  try {
   8.106 -                    Thread.currentThread().sleep(50);
   8.107 +                    Thread.currentThread().sleep(100);
   8.108                  } catch (InterruptedException ie) {
   8.109                      // OK
   8.110                  }
   8.111 @@ -116,7 +148,16 @@
   8.112          
   8.113          ((MDRChangeSource) repository).removeListener(this);
   8.114          
   8.115 -        goldenRef.close();        
   8.116 +        goldenRef.close();
   8.117 +        goldenPass.close();
   8.118 +        
   8.119 +        try {            
   8.120 +            assertFile(getWorkDirPath() + File.separator + "testDeleteInstance.ref",
   8.121 +                       getWorkDirPath() + File.separator + "testDeleteInstance.pass",
   8.122 +                       getWorkDirPath() + File.separator + "testDeleteInstance.diff");
   8.123 +        } catch (IOException ioe) {
   8.124 +            fail(ioe.toString());
   8.125 +        }
   8.126          
   8.127      }
   8.128      
   8.129 @@ -124,7 +165,13 @@
   8.130          
   8.131          RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
   8.132          
   8.133 -        goldenRef = getRef();
   8.134 +        try {
   8.135 +            goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstanceCanceled.ref")));
   8.136 +            goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstanceCanceled.pass")));
   8.137 +        } catch (IOException ioe) {
   8.138 +            fail(ioe.toString());
   8.139 +        }
   8.140 +        
   8.141          EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
   8.142          
   8.143          ((MDRChangeSource) repository).addListener(this);
   8.144 @@ -137,7 +184,8 @@
   8.145              MofClass metaClass = (MofClass) clsProxy.refMetaObject();
   8.146              if (!metaClass.isAbstract()) {
   8.147                  log("Creating instance for class: " + metaClass.getName());
   8.148 -                
   8.149 +                goldenPass.println("EVENT_INSTANCE_CREATE - PLANNED");
   8.150 +                goldenPass.println("EVENT_INSTANCE_CREATE - CANCELED");
   8.151                  try {
   8.152                      newRefObj = generator.generateWrongInstance(metaClass);
   8.153                  } catch (TypeMismatchException tme) {
   8.154 @@ -145,7 +193,7 @@
   8.155                  }
   8.156                  
   8.157                  try {
   8.158 -                    Thread.currentThread().sleep(50);
   8.159 +                    Thread.currentThread().sleep(100);
   8.160                  } catch (InterruptedException ie) {
   8.161                      // OK
   8.162                  }
   8.163 @@ -156,7 +204,16 @@
   8.164          
   8.165          ((MDRChangeSource) repository).removeListener(this);
   8.166          
   8.167 -        goldenRef.close();        
   8.168 +        goldenRef.close();
   8.169 +        goldenPass.close();
   8.170 +        
   8.171 +        try {            
   8.172 +            assertFile(getWorkDirPath() + File.separator + "testCreateInstanceCanceled.ref",
   8.173 +                       getWorkDirPath() + File.separator + "testCreateInstanceCanceled.pass",
   8.174 +                       getWorkDirPath() + File.separator + "testCreateInstanceCanceled.diff");
   8.175 +        } catch (IOException ioe) {
   8.176 +            fail(ioe.toString());
   8.177 +        }
   8.178          
   8.179      }
   8.180