package tests.terms.meta;

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

import org.junit.jupiter.api.Test;

import models.algebra.Variable;
import models.terms.DependencyTerm;
import models.terms.ResourceConstant;
import models.terms.Resource;
import models.terms.meta.MetaEvaluatableTermVariable;
import tests.Utils;

public class MetaEvaluatableTermVariableTest {
	
	@Test
	void isMatchedByTest() {
		MetaEvaluatableTermVariable se = new MetaEvaluatableTermVariable(new Variable("se"));
		
		Resource a = new Resource("a", Utils.INT, 1);
		Resource b = new Resource("b", Utils.INT, 1);
		Resource c = new Resource("c", Utils.INT, 1);
		ResourceConstant one = new ResourceConstant("1");
		DependencyTerm t1 = new DependencyTerm(a, b, c);
		
		assertTrue(se.isMatchedBy(a));
		assertTrue(se.isMatchedBy(one));
		assertTrue(se.isMatchedBy(t1));
	}
	
}
