package edu.fiu.jtlex.data;

import edu.fiu.jtlex.data.testUtils.*;

import java.awt.PageAttributes.OriginType;
import java.util.ArrayList;
import java.util.Map;

import org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import edu.fiu.jtlex.data.IInstance.Aspect;
import edu.fiu.jtlex.data.IInstance.Polarity;
import edu.fiu.jtlex.data.IInstance.Pos;
import edu.fiu.jtlex.data.IInstance.Tense;
import edu.fiu.jtlex.data.ILink.ALinkType;
import edu.fiu.jtlex.data.ILink.LinkTag;
import edu.fiu.jtlex.data.ILink.Origintype;
import edu.fiu.jtlex.data.ILink.SLinkType;
import edu.fiu.jtlex.data.ILink.TLinkType;

public class PartitioningTest {

	// Test the TimeML Graph Constructor
	/**
	 * Test case ID: TestGraphPartitioning Purpose: Test: Verify that the Graph
	 * object is correctly partitioned. Test set up: Initialize a graph with
	 * properties similar to the diagram sent by Mustafa. Test input: Graph TimeML =
	 * new Graph(); Expected output: A new instance of the Graph with SLinks removed
	 * and partitioned into Main Subgraphs and Subordinating subgraphs links.
	 */
	@Test
	void testGraphPartitioner() {
		IGraph TimeML = testUtils.generateTestGraph(0);
		ArrayList<IGraph> partitions = IGraphPartitioner.partitionGraph(TimeML);
		// The number of graphs we should obtain from partitioning the graph above is 4
		Assertions.assertEquals(partitions.size(), 4);
	}
}
