Newer
Older
RDLProofSystem / src / test / java / terms / LinearRightNormalTest.java
package terms;

public class LinearRightNormalTest {

//	Type INT = DataConstraintModel.typeInt;
//	
//	@Test
//	void linearRightNormalTest() {
//		
//		
//		Resource a = new Resource("A", INT, 2);
//		Resource b = new Resource("B", INT, 2);
//		Resource c = new Resource("C", INT, 2);
//		Resource d = new Resource("D", INT, 2);
//		Resource e = new Resource("E", INT, 2);
//		Resource f = new Resource("F", INT, 2);
//		Resource g = new Resource("G", INT, 1);
//		
//		EvaluatableTerm te1 = new DependencyTerm(e, f, g);
//		EvaluatableTerm te2 = new DependencyTerm(c, d, te1);
//		EvaluatableTerm te3 = new DependencyTerm(a, b, te2);
//		//[a:b->[c:d->[e:f->g]]]
//		assertEquals(te3.isLinearRightNormalized(), true);
//		
//		EvaluatableTerm te4 = new DependencyTerm(a, b, c);
//		EvaluatableTerm te5 = new DependencyTerm(te4, d, e);
//		EvaluatableTerm te6 = new DependencyTerm(te5, f, g);
//		//[[[a:b->c]:d->e]:f->g]
//		assertEquals(te6.isLinearRightNormalized(), false);
//	}
//	
//	@Test
//	void linearRightNormalizeTest() {
//		
//		Resource a = new Resource("A", INT, 2);
//		Resource b = new Resource("B", INT, 2);
//		Resource c = new Resource("C", INT, 2);
//		Resource d = new Resource("D", INT, 2);
//		Resource e = new Resource("E", INT, 2);
//		Resource f = new Resource("F", INT, 2);
//		Resource g = new Resource("G", INT, 1);
//		
//		EvaluatableTerm te1 = new DependencyTerm(a, b, c);
//		EvaluatableTerm te2 = new DependencyTerm(te1, d, e);
//		EvaluatableTerm te3 = new DependencyTerm(te2, f, g);
//		
//		assertEquals(te3.isLinearRightNormalized(), false);
//		te3.selfLinearRightNormalize();
//		assertEquals(te3.isLinearRightNormalized(), true);
//	}
//	
//	@Test
//	void linearRightNomalizedMatchTest() {
//		Resource a = new Resource("A", INT, 2);
//		Resource b = new Resource("B", INT, 2);
//		Resource c = new Resource("C", INT, 2);
//		Resource d = new Resource("D", INT, 2);
//		Resource e = new Resource("E", INT, 2);
//		Resource f = new Resource("F", INT, 2);
//		Resource g = new Resource("G", INT, 1);
//		
//		EvaluatableTerm te1 = new DependencyTerm(a, b, c);
//		EvaluatableTerm te2 = new DependencyTerm(te1, d, e);
//		EvaluatableTerm te3 = new DependencyTerm(te2, f, g);
//		
//		MetaEvaluatableTermVariable metaTerm = new MetaEvaluatableTermVariable(new Variable("x"));
//		MetaResource metaA = new MetaResource(new Variable("ma"));
//		MetaResource metaB = new MetaResource(new Variable("mb"));
//		MetaResource metaC = new MetaResource(new Variable("mc"));
//		MetaRDLTerm metaTerm2 = new MetaRDLTerm(metaA, metaB, metaC);
//		metaTerm2.setLinearRightNormalizedType(LinearRightNormalizedType.LINEAR_RIGHT_NORMALIZED);
//		
//		
//		metaTerm.setLinearRightNormalizedType(LinearRightNormalizedType.LINEAR_RIGHT_NORMALIZED);
//		assertEquals(metaTerm.isMatchedBy(te3), false);
//		te3.selfLinearRightNormalize();
//		assertEquals(metaTerm.isMatchedBy(te3), true);
//		assertEquals(metaTerm2.isMatchedBy(te1), true);
//	}
	
}