public void TestMethod_Expand_HeadTo1()
        {
            Metaquery        metaquery  = new Metaquery("R0(1)←R1(1,2)");
            List <Metaquery> listResult = metaquery.ExpandHead();

            Assert.AreEqual(listResult.Count, 1);
            Assert.AreEqual(listResult[0].ToString(), "R0(X1,X2)←R1(X1,X2)");
        }
        public void TestMethod_Expand_MetaqueryLevel3()
        {
            Metaquery        metaquery  = new Metaquery("R(1)←R1(1,2,3)");
            List <Metaquery> listResult = metaquery.ExpandHead();

            Assert.AreEqual(listResult[0].ToString(), "R0(X1,X2)←R1(X1,X2,X3)");
            Assert.AreEqual(listResult[1].ToString(), "R0(X1,X3)←R1(X1,X2,X3)");
            Assert.AreEqual(2, listResult.Count);
        }
        public void TestMethod_Expand_HeadRoot()
        {
            Metaquery rootMQ = Metaquery.GetRootMQ();

            Assert.AreEqual(rootMQ.ExpandHead().Count, 0);
        }