CategoryPartitionConstructorSingleGraph1.java

package org.graphstream.graph.implementations;

import static org.junit.Assert.*;

import java.util.Random;

import org.databene.benerator.anno.Source;
import org.databene.feed4junit.Feeder;
import org.graphstream.graph.implementations.SingleGraph;
import org.junit.Test;
import org.junit.runner.RunWith;

@RunWith(Feeder.class)
public class CategoryPartitionConstructorSingleGraph1 {

	@Test
	@Source("csvFiles/constructor.csv")
	public void mainTest(String idV, String strictChecking, String autoCreate, String initialNodeCapacity, String initialEdgeCapacity) {
		int defaultNode = 128;
		int defaultEdge = 1024;
		boolean strtCheck = true;
		boolean auto = false;
		int initNodeCap = defaultNode;
		int initEdgeCap = defaultEdge;
		//set strictChecking
		if(strictChecking.equals("false")){
			strtCheck = true;
		}
		//set autoCreate
		if(autoCreate.equals("true")){
			auto = true;
		}
		//Generate id
		String id = null;
		Random random = new Random();
		if(idV.equals("valid")){
			char[] chars = "abcdefghijklmnopqrstuvwxyz1234567890".toCharArray();
			StringBuilder sb = new StringBuilder();
			int max = random.nextInt(10);
			for (int i = 0; i < max; i++) {
			    char c = chars[random.nextInt(chars.length)];
			    sb.append(c);
			}
			id = sb.toString();
		}
		//set initialNodeCapacity
		if(initialNodeCapacity.equals("Default-1")){
			initNodeCap = defaultNode-1;
		} else if(initialNodeCapacity.equals("Default+1")){
			initNodeCap = defaultNode+1;
		} else if(initialNodeCapacity.equals("0")){
			initNodeCap = 0;
		}
		
		//set initialEdgeCapacity
		if(initialEdgeCapacity.equals("Default-1")){
			initEdgeCap = defaultEdge-1;
		} else if(initialEdgeCapacity.equals("Default+1")){
			initEdgeCap = defaultEdge+1;
		} else if(initialEdgeCapacity.equals("0")){
			initEdgeCap = 0;
		}
		
		SingleGraph graph = new SingleGraph(id, strtCheck, auto, initNodeCap, initEdgeCap);
		
		if(initNodeCap<=defaultNode){
			assertEquals(defaultNode, graph.nodeArray.length);
		} else{
			assertEquals(initNodeCap, graph.nodeArray.length);
		}
		
		if(initEdgeCap<=defaultEdge){
			assertEquals(defaultEdge, graph.edgeArray.length);
		} else{
			assertEquals(initEdgeCap, graph.edgeArray.length);
		}
		
	}

}