// Path: src/main/java/com/ojn/gexf4j/core/Edge.java
// public interface Edge extends SlicableDatum<Edge> {
// 
// 	String getId();
// 	
// 	Node getSource();
// 	
// 	Node getTarget();
// 	Edge setTarget(Node target);
// 	
// 	boolean hasLabel();
// 	Edge clearLabel();
// 	String getLabel();
// 	Edge setLabel(String label);
// 	
// 	boolean hasWeight();
// 	Edge clearWeight();
// 	float getWeight();
// 	Edge setWeight(float weight);
// 
// 	EdgeType getEdgeType();
// 	Edge setEdgeType(EdgeType edgeType);
// 
// 	boolean hasColor();
// 	Edge clearColor();
// 	Color getColor();
// 	Edge setColor(Color color);
// 
// 	boolean hasThickness();
// 	Edge clearThickness();
// 	float getThickness();
// 	Edge setThickness(float thickness);
// 
// 	EdgeShape getShape();
// 	Edge setShape(EdgeShape shape);	
// }
// 
// Path: src/test/java/com/ojn/gexf4j/core/EdgeTest.java
// public abstract class EdgeTest {
// 
// 	protected abstract Node newNode();
// 	protected abstract Edge newEdge(String id, Node source, Node target);
// 	
// 	private Node s = null;
// 	private Node t = null;
// 	private String edgeId = "";
// 	private Edge e = null;
// 	
// 	@Before
// 	public void before() {
// 		s = newNode();
// 		t = newNode();
// 		edgeId = UUID.randomUUID().toString();
// 		e = newEdge(edgeId, s, t);	
// 	}
// 	
// 	@Test
// 	public void getId() {
// 		assertThat(e.getId(), is(equalTo(edgeId)));
// 	}
// 	
// 	@Test
// 	public void setLabelValid() {
// 		String label = UUID.randomUUID().toString();
// 		e.setLabel(label);
// 		assertThat(e.getLabel(), is(equalTo(label)));
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void setLabelNull() {
// 		e.setLabel(null);
// 	}
// 	
// 	@Test
// 	public void getSource() {
// 		assertThat(e.getSource(), is(equalTo(s)));
// 	}
// 	
// 	@Test
// 	public void setTargetValid() {
// 		Node newTarget = newNode();
// 		e.setTarget(newTarget);
// 		
// 		assertThat(e.getTarget(), is(equalTo(newTarget)));
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void setTargetNull() {
// 		e.setTarget(null);
// 	}
// 	
// 	@Test
// 	public void setWeight() {
// 		Random rnd = new Random();
// 		float weight = rnd.nextFloat();
// 		e.setWeight(weight);
// 		
// 		assertThat(e.getWeight(), is(equalTo(weight)));
// 	}
// 	
// 	@Test
// 	public void setEdgeType() {
// 		for (EdgeType et : EdgeType.values()) {
// 			e.setEdgeType(et);
// 			assertThat(e.getEdgeType(), is(equalTo(et)));
// 		}
// 	}
// 	
// 	@Test
// 	public void getAttributeValues() {
// 		Attribute attrib = new AttributeImpl(AttributeType.STRING, "test", AttributeClass.EDGE);
// 		AttributeValue av = attrib.createValue("testing");
// 		
// 		int a = e.getAttributeValues().size();
// 		e.getAttributeValues().add(av);
// 		int b = e.getAttributeValues().size();
// 		
// 		assertThat(b, is(equalTo(a+1)));
// 		assertThat(e.getAttributeValues().contains(av), is(true));
// 	}
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/Node.java
// public interface Node extends SlicableDatum<Node>, HasNodes {
// 
// 	String getId();
// 	
// 	String getLabel();
// 	Node setLabel(String label);
// 	
// 	List<Edge> getEdges();
// 	
// 	Edge connectTo(Node target);
// 	Edge connectTo(String id, Node target);
// 	
// 	boolean hasEdgeTo(String id);
// 	
// 	boolean hasColor();
// 	Node clearColor();
// 	Color getColor();
// 	Node setColor(Color color);
// 	
// 	boolean hasPosition();
// 	Node clearPosition();
// 	Position getPosition();
// 	Node setPosition(Position position);
// 	
// 	boolean hasSize();
// 	Node clearSize();
// 	float getSize();
// 	Node setSize(float size);
// 	
// 	boolean hasShape();
// 	Node clearShape();
// 	NodeShapeEntity getShapeEntity();
// 	
// 	List<Node> getParentForList();
// 
// 	boolean hasPID();
// 	Node clearPID();
// 	String getPID();
// 	Node setPID(String pid);
// }


import java.util.UUID;
import com.ojn.gexf4j.core.Edge;
import com.ojn.gexf4j.core.EdgeTest;
import com.ojn.gexf4j.core.Node;
package com.ojn.gexf4j.core.impl;



public class EdgeImplTest extends EdgeTest {

	@Override
// Path: src/main/java/com/ojn/gexf4j/core/Edge.java
// public interface Edge extends SlicableDatum<Edge> {
// 
// 	String getId();
// 	
// 	Node getSource();
// 	
// 	Node getTarget();
// 	Edge setTarget(Node target);
// 	
// 	boolean hasLabel();
// 	Edge clearLabel();
// 	String getLabel();
// 	Edge setLabel(String label);
// 	
// 	boolean hasWeight();
// 	Edge clearWeight();
// 	float getWeight();
// 	Edge setWeight(float weight);
// 
// 	EdgeType getEdgeType();
// 	Edge setEdgeType(EdgeType edgeType);
// 
// 	boolean hasColor();
// 	Edge clearColor();
// 	Color getColor();
// 	Edge setColor(Color color);
// 
// 	boolean hasThickness();
// 	Edge clearThickness();
// 	float getThickness();
// 	Edge setThickness(float thickness);
// 
// 	EdgeShape getShape();
// 	Edge setShape(EdgeShape shape);	
// }
// 
// Path: src/test/java/com/ojn/gexf4j/core/EdgeTest.java
// public abstract class EdgeTest {
// 
// 	protected abstract Node newNode();
// 	protected abstract Edge newEdge(String id, Node source, Node target);
// 	
// 	private Node s = null;
// 	private Node t = null;
// 	private String edgeId = "";
// 	private Edge e = null;
// 	
// 	@Before
// 	public void before() {
// 		s = newNode();
// 		t = newNode();
// 		edgeId = UUID.randomUUID().toString();
// 		e = newEdge(edgeId, s, t);	
// 	}
// 	
// 	@Test
// 	public void getId() {
// 		assertThat(e.getId(), is(equalTo(edgeId)));
// 	}
// 	
// 	@Test
// 	public void setLabelValid() {
// 		String label = UUID.randomUUID().toString();
// 		e.setLabel(label);
// 		assertThat(e.getLabel(), is(equalTo(label)));
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void setLabelNull() {
// 		e.setLabel(null);
// 	}
// 	
// 	@Test
// 	public void getSource() {
// 		assertThat(e.getSource(), is(equalTo(s)));
// 	}
// 	
// 	@Test
// 	public void setTargetValid() {
// 		Node newTarget = newNode();
// 		e.setTarget(newTarget);
// 		
// 		assertThat(e.getTarget(), is(equalTo(newTarget)));
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void setTargetNull() {
// 		e.setTarget(null);
// 	}
// 	
// 	@Test
// 	public void setWeight() {
// 		Random rnd = new Random();
// 		float weight = rnd.nextFloat();
// 		e.setWeight(weight);
// 		
// 		assertThat(e.getWeight(), is(equalTo(weight)));
// 	}
// 	
// 	@Test
// 	public void setEdgeType() {
// 		for (EdgeType et : EdgeType.values()) {
// 			e.setEdgeType(et);
// 			assertThat(e.getEdgeType(), is(equalTo(et)));
// 		}
// 	}
// 	
// 	@Test
// 	public void getAttributeValues() {
// 		Attribute attrib = new AttributeImpl(AttributeType.STRING, "test", AttributeClass.EDGE);
// 		AttributeValue av = attrib.createValue("testing");
// 		
// 		int a = e.getAttributeValues().size();
// 		e.getAttributeValues().add(av);
// 		int b = e.getAttributeValues().size();
// 		
// 		assertThat(b, is(equalTo(a+1)));
// 		assertThat(e.getAttributeValues().contains(av), is(true));
// 	}
// }
// 
// Path: src/main/java/com/ojn/gexf4j/core/Node.java
// public interface Node extends SlicableDatum<Node>, HasNodes {
// 
// 	String getId();
// 	
// 	String getLabel();
// 	Node setLabel(String label);
// 	
// 	List<Edge> getEdges();
// 	
// 	Edge connectTo(Node target);
// 	Edge connectTo(String id, Node target);
// 	
// 	boolean hasEdgeTo(String id);
// 	
// 	boolean hasColor();
// 	Node clearColor();
// 	Color getColor();
// 	Node setColor(Color color);
// 	
// 	boolean hasPosition();
// 	Node clearPosition();
// 	Position getPosition();
// 	Node setPosition(Position position);
// 	
// 	boolean hasSize();
// 	Node clearSize();
// 	float getSize();
// 	Node setSize(float size);
// 	
// 	boolean hasShape();
// 	Node clearShape();
// 	NodeShapeEntity getShapeEntity();
// 	
// 	List<Node> getParentForList();
// 
// 	boolean hasPID();
// 	Node clearPID();
// 	String getPID();
// 	Node setPID(String pid);
// }


// Path: src/test/java/com/ojn/gexf4j/core/impl/EdgeImplTest.java
import java.util.UUID;
import com.ojn.gexf4j.core.Edge;
import com.ojn.gexf4j.core.EdgeTest;
import com.ojn.gexf4j.core.Node;

package com.ojn.gexf4j.core.impl;



public class EdgeImplTest extends EdgeTest {

	@Override
	protected Edge newEdge(String id, Node source, Node target) {