Author: kono
Date: 2010-10-18 17:23:57 -0700 (Mon, 18 Oct 2010)
New Revision: 22282

Added:
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewCreatedEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/package-info.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/package-info.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/AbstractVisualLexiconFactoryTest.java
Modified:
   core3/viewmodel-api/trunk/pom.xml
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/CyNetworkViewFactory.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/NullDataType.java
   core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/View.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/VisualLexiconNode.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/VisualLexiconNodeFactory.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewChangeMicroListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitContentEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitContentEventListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitSelectedEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitSelectedEventListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangeMicroListener.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedEvent.java
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedListener.java
   
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/AbstractVisualPropertyTest.java
Log:
JavaDocs are mostly complete.  Some abstract test cases had been added.

Modified: core3/viewmodel-api/trunk/pom.xml
===================================================================
--- core3/viewmodel-api/trunk/pom.xml   2010-10-18 23:16:07 UTC (rev 22281)
+++ core3/viewmodel-api/trunk/pom.xml   2010-10-19 00:23:57 UTC (rev 22282)
@@ -117,8 +117,8 @@
                        <artifactId>model-api</artifactId>
                        <version>1.0-SNAPSHOT</version>
                </dependency>
-               
 
+
                <!-- unit tests -->
                <dependency>
                        <groupId>org.easymock</groupId>

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/CyNetworkViewFactory.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/CyNetworkViewFactory.java
  2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/CyNetworkViewFactory.java
  2010-10-19 00:23:57 UTC (rev 22282)
@@ -38,15 +38,19 @@
 
 
 /**
+ * Factory for {...@linkplain CyNetworkView} objects.
+ * Modules which need to create view models should import this as a service.
  * 
+ * @author kono
+ *
  */
 public interface CyNetworkViewFactory {
        
        /** 
-        * Create a NetworkView.
+        * Create a {...@linkplain CyNetworkView} from a {...@linkplain 
org.cytoscape.model.CyNetwork} object. 
         * 
         * @param network for which the CyNetworkView is to be created
-        * @return the CyNetworkView
+        * @return the view model for the network data model
         */
        public CyNetworkView getNetworkView(final CyNetwork network);
 }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/NullDataType.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/NullDataType.java
  2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/NullDataType.java
  2010-10-19 00:23:57 UTC (rev 22282)
@@ -1,5 +1,11 @@
 package org.cytoscape.view.model;
 
+/**
+ * An empty/null data type for Visual Properties holding no actual data.
+ * 
+ * @author kono
+ *
+ */
 public interface NullDataType {
-
+       
 }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/View.java
===================================================================
--- core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/View.java  
2010-10-18 23:16:07 UTC (rev 22281)
+++ core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/View.java  
2010-10-19 00:23:57 UTC (rev 22282)
@@ -38,10 +38,10 @@
 
 
 /**
- * The base interface that defines the methods used to set visual properties
+ * The base interface that defines methods used to set visual properties
  * for nodes, edges, and networks.
  *
- * Think of it as a row in the viewmodel table.
+ * Think of it as a row in the view-model table.
  *
  * @param <S> the base (model-level) object for which this is a View. For 
example, CyNode or CyEdge.
  * In the future versions, Attributes can be this parameter.

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/VisualLexiconNode.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/VisualLexiconNode.java
     2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/VisualLexiconNode.java
     2010-10-19 00:23:57 UTC (rev 22282)
@@ -2,16 +2,25 @@
 
 import java.util.Collection;
 
+/**
+ * A node in the visual property tree (lexicon).
+ * <p>
+ * Wrapping a {...@linkplain VisualProperty} and holding parent-child 
relationships.
+ * <p>
+ * All data fields are immutable. 
+ * 
+ * @author kono
+ *
+ */
 public interface VisualLexiconNode {
        
-       
        /**
-        * Wrapped object.
+        * Returns wrapped {...@linkplain VisualProerty} object.
         * 
         * Since VisualProperty itself does not have any hierarchical 
structure, 
         * such relationship is implemented by this wrapper.
         * 
-        * @return
+        * @return wrapped {...@linkplain VisualProeprty} object.
         */
        VisualProperty<?> getVisualProperty();
 
@@ -19,13 +28,15 @@
        /**
         * Get the parent of this VP node. The relationship is immutable, i.e.,
         * cannot change parent/child relationship.
+        * 
+        * @return parent VisualProperty object.
         */
        VisualLexiconNode getParent();
 
        /**
-        * Returns all children of this node.
+        * Returns collection of all children of this node.
         * 
-        * @return all child nodes.
+        * @return collection of all children
         */
        Collection<VisualLexiconNode> getChildren();
 

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/VisualLexiconNodeFactory.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/VisualLexiconNodeFactory.java
      2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/VisualLexiconNodeFactory.java
      2010-10-19 00:23:57 UTC (rev 22282)
@@ -1,5 +1,9 @@
 package org.cytoscape.view.model;
 
+/**
+ * Factory for nodes in the visual lexicon.
+ *
+ */
 public interface VisualLexiconNodeFactory {
        
        /**

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewEvent.java
     2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewEvent.java
     2010-10-19 00:23:57 UTC (rev 22282)
@@ -7,15 +7,30 @@
 import org.cytoscape.model.CyEdge;
 
 /**
- * 
+ * When edge {...@linkplain View} is added to a {...@linkplain CyNetworkView}, 
this event will be fired.
  */
 public final class AddedEdgeViewEvent extends AbstractCyEvent<CyNetworkView> {
+       
        private View<CyEdge> edgeView;
+       
+       /**
+        * Creates the event for a new edge view.
+        * 
+        * @param source network view which includes the new edge view.
+        * @param edgeView Newly created view object for an edge.
+        * 
+        */
        public AddedEdgeViewEvent(final CyNetworkView source, final 
View<CyEdge> edgeView) {
                super(source, AddedEdgeViewListener.class);
                this.edgeView = edgeView;
        }
 
+       /**
+        * Returns new edge view added to the source network view object.
+        * 
+        * @return new edge view added to the network view.
+        * 
+        */
        public View<CyEdge> getEdgeView() {
                return edgeView;
        }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewListener.java
  2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedEdgeViewListener.java
  2010-10-19 00:23:57 UTC (rev 22282)
@@ -4,8 +4,16 @@
 import org.cytoscape.event.CyListener;
 
 /**
- * 
+ * Listener for {...@linkplain AddedEdgeViewEvent}.
+ *
  */
 public interface AddedEdgeViewListener extends CyListener {
+       
+       /**
+        * Process event
+        * 
+        * @param e
+        */
        public void handleEvent(AddedEdgeViewEvent e);
+
 }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewEvent.java
     2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewEvent.java
     2010-10-19 00:23:57 UTC (rev 22282)
@@ -1,4 +1,3 @@
-
 package org.cytoscape.view.model.events;
 
 import org.cytoscape.event.AbstractCyEvent;
@@ -7,15 +6,29 @@
 import org.cytoscape.model.CyNode;
 
 /**
- * 
+ * When node {...@linkplain View} is added to a {...@linkplain CyNetworkView}, 
this event will be fired.
  */
 public final class AddedNodeViewEvent extends AbstractCyEvent<CyNetworkView> {
+
        private final View<CyNode> nodeView;
+
+       /**
+        * Creates the event for a new node view.
+        * 
+        * @param source network view which includes the new node view.
+        * @param nodeView Newly created view object for a node.
+        * 
+        */
        public AddedNodeViewEvent(final CyNetworkView source, final 
View<CyNode> nodeView) {
                super(source, AddedNodeViewListener.class);
                this.nodeView = nodeView;
        }
 
+       /**
+        * Returns new node view object.
+        * 
+        * @return new node view
+        */
        public View<CyNode> getNodeView() {
                return nodeView;
        }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewListener.java
  2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/AddedNodeViewListener.java
  2010-10-19 00:23:57 UTC (rev 22282)
@@ -4,8 +4,15 @@
 import org.cytoscape.event.CyListener;
 
 /**
- * 
+ * Listener for {...@linkplain AddedNodeViewEvent}.
+ *
  */
 public interface AddedNodeViewListener extends CyListener {
+       
+       /**
+        * Process event.
+        * 
+        * @param e
+        */
        public void handleEvent(AddedNodeViewEvent e);
 }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewChangeMicroListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewChangeMicroListener.java
    2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/EdgeViewChangeMicroListener.java
    2010-10-19 00:23:57 UTC (rev 22282)
@@ -5,11 +5,17 @@
 import org.cytoscape.view.model.View;
 import org.cytoscape.view.model.VisualProperty;
 
+/**
+ * Micro Listener for edge views.  Every time Visual Property is set to an 
edge view, this listener catches the micro event.
+ * 
+ * @author kono
+ *
+ */
 public interface EdgeViewChangeMicroListener extends CyMicroListener {
 
        /**
-        * The method called when the specified VisualProperty is set to the
-        * specified value in the View being listened to. 
+        * This method will be called when the specified Visual Property value 
is set to the
+        * specified view. 
         */
        void  edgeVisualPropertySet(final View<CyEdge> target, final 
VisualProperty<?> vp, final Object value);
 }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitContentEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitContentEvent.java
        2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitContentEvent.java
        2010-10-19 00:23:57 UTC (rev 22282)
@@ -10,6 +10,12 @@
  *
  */
 public class FitContentEvent extends AbstractCyEvent<CyNetworkView> {
+       
+       /**
+        * Fit the size of network view to the current container.
+        * 
+        * @param source
+        */
        public FitContentEvent(final CyNetworkView source) {
                super(source, FitContentEventListener.class);
        }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitContentEventListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitContentEventListener.java
        2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitContentEventListener.java
        2010-10-19 00:23:57 UTC (rev 22282)
@@ -2,6 +2,18 @@
 
 import org.cytoscape.event.CyListener;
 
+/**
+ * Listener for {...@linkplain FitContentEvent}.
+ * 
+ * @author kono
+ *
+ */
 public interface FitContentEventListener extends CyListener {
+       
+       /**
+        * Process the event.  Usually, this handler will fire event to the 
presentation layer and invoke the redraw method in the rendering engine.
+        * 
+        * @param e
+        */
        public void handleEvent(FitContentEvent e);
 }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitSelectedEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitSelectedEvent.java
       2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitSelectedEvent.java
       2010-10-19 00:23:57 UTC (rev 22282)
@@ -6,11 +6,15 @@
 
 /**
  * Fit only selected graph object views to the container.
- * 
- * @author kono
  *
  */
 public class FitSelectedEvent extends AbstractCyEvent<CyNetworkView> {
+       
+       /**
+        * Fit the selected part of network view to the container.  Usually 
this fires event to the presentation payer for redraw.
+        * 
+        * @param source target network view for fitting.
+        */
        public FitSelectedEvent(final CyNetworkView source) {
                super(source, FitSelectedEventListener.class);
        }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitSelectedEventListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitSelectedEventListener.java
       2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/FitSelectedEventListener.java
       2010-10-19 00:23:57 UTC (rev 22282)
@@ -2,6 +2,18 @@
 
 import org.cytoscape.event.CyListener;
 
+/**
+ * Listener for {...@linkplain FitSelectedEvent}.  
+ *  
+ * @author kono
+ *
+ */
 public interface FitSelectedEventListener extends CyListener {
+       
+       /**
+        * Fit the selected nodes/edges to tthe current container.  Usually 
this fires another event to the presentation layer.
+        * 
+        * @param e Event containing target network view.
+        */
        public void handleEvent(FitSelectedEvent e);
 }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangeMicroListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangeMicroListener.java
 2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangeMicroListener.java
 2010-10-19 00:23:57 UTC (rev 22282)
@@ -5,6 +5,12 @@
 import org.cytoscape.view.model.View;
 import org.cytoscape.view.model.VisualProperty;
 
+/**
+ * Micro listener for every change in the network {...@linkplain View}.
+ * 
+ * @author kono
+ *
+ */
 public interface NetworkViewChangeMicroListener extends CyMicroListener {
 
        /**

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedEvent.java
        2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedEvent.java
        2010-10-19 00:23:57 UTC (rev 22282)
@@ -1,14 +1,18 @@
-
 package org.cytoscape.view.model.events;
 
 import org.cytoscape.event.AbstractCyEvent;
 import org.cytoscape.view.model.CyNetworkView;
 
 /**
+ * If something had been changed in the view model, presentation layer should 
listening to the change and update itself.
+ * This event will be used in such objects in the presentation layer. 
  * 
+ * @author kono
+ *
  */
 public final class NetworkViewChangedEvent extends 
AbstractCyEvent<CyNetworkView> {
+       
        public NetworkViewChangedEvent(final CyNetworkView source) {
-               super(source,NetworkViewChangedListener.class);
+               super(source, NetworkViewChangedListener.class);
        }
 }

Modified: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedListener.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedListener.java
     2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewChangedListener.java
     2010-10-19 00:23:57 UTC (rev 22282)
@@ -4,8 +4,15 @@
 import org.cytoscape.event.CyListener;
 
 /**
+ * Listener for {...@linkplain NetworkViewChanged} event.  Usually, 
presentation layer objects implements this event handler.
  * 
  */
 public interface NetworkViewChangedListener extends CyListener {
+       
+       /**
+        * In most cases, this is for presentation layer objects.  They should 
update the rendered graphics based on the changes in view model.
+        * 
+        * @param e Event containing target network view model.
+        */
        public void handleEvent(NetworkViewChangedEvent e);
 }

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewCreatedEvent.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewCreatedEvent.java
                                (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/NetworkViewCreatedEvent.java
        2010-10-19 00:23:57 UTC (rev 22282)
@@ -0,0 +1,20 @@
+package org.cytoscape.view.model.events;
+
+import org.cytoscape.event.AbstractCyEvent;
+import org.cytoscape.view.model.CyNetworkView;
+
+
+/**
+ * TODO: Is this necessary?
+ * 
+ * @author kono
+ *
+ */
+public class NetworkViewCreatedEvent extends AbstractCyEvent<CyNetworkView> {
+
+       public NetworkViewCreatedEvent(CyNetworkView source, Class 
listenerClass) {
+               super(source, listenerClass);
+               // TODO Auto-generated constructor stub
+       }
+
+}

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/package-info.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/package-info.java
                           (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/events/package-info.java
   2010-10-19 00:23:57 UTC (rev 22282)
@@ -0,0 +1,5 @@
+/**
+ * Definitions for View-Model related events and their listeners.
+ */
+package org.cytoscape.view.model.events;
+

Added: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/package-info.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/package-info.java
                          (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/package-info.java
  2010-10-19 00:23:57 UTC (rev 22282)
@@ -0,0 +1,7 @@
+/**
+ * Module for View Models and Visual Properties.
+ * 
+ * @author kono
+ */
+package org.cytoscape.view.model;
+

Added: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/AbstractVisualLexiconFactoryTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/AbstractVisualLexiconFactoryTest.java
                              (rev 0)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/AbstractVisualLexiconFactoryTest.java
      2010-10-19 00:23:57 UTC (rev 22282)
@@ -0,0 +1,47 @@
+package org.cytoscape.view.model;
+
+
+import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+
+import java.util.Collection;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class AbstractVisualLexiconFactoryTest {
+       
+       protected VisualLexiconNodeFactory nodeFactory;
+       
+       
+       
+       protected VisualProperty<?> parentVisualProp;
+       
+       protected VisualProperty<?> vp1;
+       protected VisualProperty<?> vp2;
+
+       @Before
+       public void setUp() throws Exception {
+       }
+
+       @After
+       public void tearDown() throws Exception {
+       }
+       
+       @Test
+       public void testCreateNode() {
+               assertNotNull(nodeFactory);
+               
+               final VisualLexiconNode parentNode = 
nodeFactory.createNode(parentVisualProp, null);
+               Collection<VisualLexiconNode> children = 
parentNode.getChildren();
+               assertEquals(0, children.size());
+               
+               final VisualLexiconNode vp1Node = nodeFactory.createNode(vp1, 
parentNode);
+               final VisualLexiconNode vp2Node = nodeFactory.createNode(vp2, 
parentNode);
+               
+               assertEquals(2, parentNode.getChildren().size());
+               
+       }
+
+}

Modified: 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/AbstractVisualPropertyTest.java
===================================================================
--- 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/AbstractVisualPropertyTest.java
    2010-10-18 23:16:07 UTC (rev 22281)
+++ 
core3/viewmodel-api/trunk/src/test/java/org/cytoscape/view/model/AbstractVisualPropertyTest.java
    2010-10-19 00:23:57 UTC (rev 22282)
@@ -1,8 +1,60 @@
 package org.cytoscape.view.model;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
-public abstract class AbstractVisualPropertyTest {
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public abstract class AbstractVisualPropertyTest<T> {
        
+       protected VisualProperty<T> vp;
        
+       protected String id;
+       protected T defaultVal;
+       protected String displayName;
+       protected Class<T> type;
+       protected Boolean ignore;
+       
+       @Before
+       public void setUp() throws Exception {
+               
+       }
 
+       @After
+       public void tearDown() throws Exception {
+       }
+
+       @Test
+       public void testAbstractVisualProperty() {
+               assertNotNull(vp);
+       }
+
+       @Test
+       public void testGetType() {
+               assertEquals(type, vp.getClass());
+       }
+
+       @Test
+       public void testGetDefault() {
+               assertEquals(defaultVal, vp.getDefault());
+       }
+
+       @Test
+       public void testGetIdString() {
+               assertEquals(id, vp.getIdString());
+       }
+
+       @Test
+       public void testGetDisplayName() {
+               assertNotNull(vp.getDisplayName());
+               assertEquals(displayName, vp.getDisplayName());
+       }
+
+       @Test
+       public void testIsIgnoreDefault() {
+               assertEquals(ignore, vp.isIgnoreDefault());
+       }
 }

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to