// Path: src/main/java/com/ojn/gexf4j/core/Graph.java
// public interface Graph extends Dynamic<Graph>, HasNodes {
// 
// 	EdgeType getDefaultEdgeType();
// 	Graph setDefaultEdgeType(EdgeType edgeType);
// 	
// 	IDType getIDType();
// 	Graph setIDType(IDType idType);
// 
// 	Mode getMode();
// 	Graph setMode(Mode graphMode);
// 	
// 	TimeType getTimeType();
// 	Graph setTimeType(TimeType timeType);
// 	
// 	List<AttributeList> getAttributeLists();
// }
// 
// Path: src/test/java/com/ojn/gexf4j/core/GraphTest.java
// public abstract class GraphTest {
// 
// 	protected abstract Graph newGraph();
// 	
// 	@Test
// 	public void defaultEdgeTypeValid() {
// 		Graph g = newGraph();
// 		for (EdgeType edgeType : EdgeType.values()) {
// 			g.setDefaultEdgeType(edgeType);
// 			assertThat(g.getDefaultEdgeType(), is(equalTo(edgeType)));
// 		}
// 	}
// 	
// 	@Test
// 	public void modeValid() {
// 		Graph g = newGraph();
// 		for (Mode gm : Mode.values()) {
// 			g.setMode(gm);
// 			assertThat(g.getMode(), is(equalTo(gm)));
// 		}
// 	}
// 	
// 	@Test
// 	public void createNode() {
// 		Graph g = newGraph();
// 		g.createNode();
// 	}
// 	
// 	@Test
// 	public void createNodeId() {
// 		Graph g = newGraph();
// 		String id = UUID.randomUUID().toString();
// 		Node n = g.createNode(id);
// 		
// 		assertThat(n, is(notNullValue()));
// 		assertThat(n.getId(), is(equalTo(id)));
// 		assertThat(g.getNodeMap().containsKey(id), is(true));
// 		assertThat(g.getNodeMap().get(id), is(equalTo(n)));
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void createNodeIdNull() {
// 		Graph g = newGraph();
// 		g.createNode(null);
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void createNodeIdBlank() {
// 		Graph g = newGraph();
// 		g.createNode("   ");
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void createNodeIdDuplicate() {
// 		Graph g = newGraph();
// 		String id = UUID.randomUUID().toString();
// 		g.createNode(id);
// 		g.createNode(id);
// 	}
// 	
// 	@Test
// 	public void getNodeMap() {
// 		Graph g = newGraph();
// 		
// 		String id1 = UUID.randomUUID().toString();
// 		String id2 = UUID.randomUUID().toString();
// 		
// 		Node n1 = g.createNode(id1);
// 		Node n2 = g.createNode(id2);
// 		Node n3 = g.createNode();
// 		
// 		Map<String, Node> map = g.getNodeMap();
// 		
// 		assertThat(map.size(), is(equalTo(3)));
// 		assertThat(map.containsKey(id1), is(true));
// 		assertThat(map.containsKey(id2), is(true));
// 		assertThat(map.containsValue(n1), is(true));
// 		assertThat(map.containsValue(n2), is(true));
// 		assertThat(map.containsValue(n3), is(true));
// 		assertThat(map.get(id1), is(equalTo(n1)));
// 		assertThat(map.get(id2), is(equalTo(n2)));
// 	}
// }


import com.ojn.gexf4j.core.Graph;
import com.ojn.gexf4j.core.GraphTest;
package com.ojn.gexf4j.core.impl;


public class GraphImplTest extends GraphTest {

	@Override
// Path: src/main/java/com/ojn/gexf4j/core/Graph.java
// public interface Graph extends Dynamic<Graph>, HasNodes {
// 
// 	EdgeType getDefaultEdgeType();
// 	Graph setDefaultEdgeType(EdgeType edgeType);
// 	
// 	IDType getIDType();
// 	Graph setIDType(IDType idType);
// 
// 	Mode getMode();
// 	Graph setMode(Mode graphMode);
// 	
// 	TimeType getTimeType();
// 	Graph setTimeType(TimeType timeType);
// 	
// 	List<AttributeList> getAttributeLists();
// }
// 
// Path: src/test/java/com/ojn/gexf4j/core/GraphTest.java
// public abstract class GraphTest {
// 
// 	protected abstract Graph newGraph();
// 	
// 	@Test
// 	public void defaultEdgeTypeValid() {
// 		Graph g = newGraph();
// 		for (EdgeType edgeType : EdgeType.values()) {
// 			g.setDefaultEdgeType(edgeType);
// 			assertThat(g.getDefaultEdgeType(), is(equalTo(edgeType)));
// 		}
// 	}
// 	
// 	@Test
// 	public void modeValid() {
// 		Graph g = newGraph();
// 		for (Mode gm : Mode.values()) {
// 			g.setMode(gm);
// 			assertThat(g.getMode(), is(equalTo(gm)));
// 		}
// 	}
// 	
// 	@Test
// 	public void createNode() {
// 		Graph g = newGraph();
// 		g.createNode();
// 	}
// 	
// 	@Test
// 	public void createNodeId() {
// 		Graph g = newGraph();
// 		String id = UUID.randomUUID().toString();
// 		Node n = g.createNode(id);
// 		
// 		assertThat(n, is(notNullValue()));
// 		assertThat(n.getId(), is(equalTo(id)));
// 		assertThat(g.getNodeMap().containsKey(id), is(true));
// 		assertThat(g.getNodeMap().get(id), is(equalTo(n)));
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void createNodeIdNull() {
// 		Graph g = newGraph();
// 		g.createNode(null);
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void createNodeIdBlank() {
// 		Graph g = newGraph();
// 		g.createNode("   ");
// 	}
// 	
// 	@Test(expected=IllegalArgumentException.class)
// 	public void createNodeIdDuplicate() {
// 		Graph g = newGraph();
// 		String id = UUID.randomUUID().toString();
// 		g.createNode(id);
// 		g.createNode(id);
// 	}
// 	
// 	@Test
// 	public void getNodeMap() {
// 		Graph g = newGraph();
// 		
// 		String id1 = UUID.randomUUID().toString();
// 		String id2 = UUID.randomUUID().toString();
// 		
// 		Node n1 = g.createNode(id1);
// 		Node n2 = g.createNode(id2);
// 		Node n3 = g.createNode();
// 		
// 		Map<String, Node> map = g.getNodeMap();
// 		
// 		assertThat(map.size(), is(equalTo(3)));
// 		assertThat(map.containsKey(id1), is(true));
// 		assertThat(map.containsKey(id2), is(true));
// 		assertThat(map.containsValue(n1), is(true));
// 		assertThat(map.containsValue(n2), is(true));
// 		assertThat(map.containsValue(n3), is(true));
// 		assertThat(map.get(id1), is(equalTo(n1)));
// 		assertThat(map.get(id2), is(equalTo(n2)));
// 	}
// }


// Path: src/test/java/com/ojn/gexf4j/core/impl/GraphImplTest.java
import com.ojn.gexf4j.core.Graph;
import com.ojn.gexf4j.core.GraphTest;

package com.ojn.gexf4j.core.impl;


public class GraphImplTest extends GraphTest {

	@Override
	protected Graph newGraph() {