void SystemTest2::processUsesBasicTest(){ string source = "..\\..\\Tests\\TestAllSources1.txt"; Parser parser; PKB pkb; DesignExtractor designextractor; parser.parse(source); parser.buildPKB(); designextractor.buildPKB(); //int p = pkb.getProcIndex("p").at(0); //int a = pkb.getProcIndex("a").at(0); //int q = pkb.getProcIndex("q").at(0); //int d = pkb.getProcIndex("d").at(0); cout << "---------USE CHECK-----------"; //vector<int> usedvars = pkb.getUsedVarAtProc(p); //for (int i = 0; i < usedvars.size(); i++){ // cout << pkb.getVarName(usedvars[i]); //} int Example = pkb.getProcIndex("Example").front(); cout << Example; vector<int> usedProc = pkb.getUsedVarAtProc(Example); cout << "size of usedProc"; cout << usedProc.size(); for (int i = 0; i < usedProc.size(); i++){ cout << pkb.getVarName(usedProc[i]); } }
void SystemTest2::processUses() { string source = "..\\..\\Tests\\TestDesignExtractorSource.txt"; Parser parser; PKB pkb; DesignExtractor designextractor; parser.parse(source); parser.buildPKB(); designextractor.buildPKB(); int A = pkb.getProcIndex("A").at(0); int B = pkb.getProcIndex("B").at(0); int C = pkb.getProcIndex("C").at(0); int D = pkb.getProcIndex("D").at(0); int E = pkb.getProcIndex("E").at(0); int x = pkb.getVarIndex("x"); int a = pkb.getVarIndex("a"); int w = pkb.getVarIndex("w"); int c = pkb.getVarIndex("c"); int b = pkb.getVarIndex("b"); int k = pkb.getVarIndex("k"); int loops = pkb.getVarIndex("loops"); int newvar = pkb.getVarIndex("new"); int yes = pkb.getVarIndex("yes"); vector<int> usedvars = pkb.getUsedVarAtProc(A); sort(usedvars.begin(), usedvars.end()); int vars[] = {x, a, w, c, b, k, loops, newvar, yes}; vector<int> expectedvars(vars, vars + sizeof(vars) / sizeof(int) ); sort(expectedvars.begin(), expectedvars.end()); CPPUNIT_ASSERT_EQUAL(expectedvars.at(0), usedvars.at(0)); CPPUNIT_ASSERT_EQUAL(expectedvars.at(1), usedvars.at(1)); CPPUNIT_ASSERT_EQUAL(expectedvars.at(2), usedvars.at(2)); CPPUNIT_ASSERT_EQUAL(expectedvars.at(3), usedvars.at(3)); CPPUNIT_ASSERT_EQUAL(expectedvars.at(4), usedvars.at(4)); CPPUNIT_ASSERT_EQUAL(expectedvars.at(5), usedvars.at(5)); CPPUNIT_ASSERT_EQUAL(expectedvars.at(6), usedvars.at(6)); CPPUNIT_ASSERT_EQUAL(expectedvars.at(7), usedvars.at(7)); CPPUNIT_ASSERT_EQUAL(expectedvars.at(8), usedvars.at(8)); usedvars = pkb.getUsedVarAtProc(B); sort(usedvars.begin(), usedvars.end()); int vars2[] = { a, c, b, k, loops, newvar, yes}; vector<int> expectedvars2(vars2, vars2 + sizeof(vars2) / sizeof(int) ); sort(expectedvars2.begin(), expectedvars2.end()); CPPUNIT_ASSERT_EQUAL(expectedvars2.at(0), usedvars.at(0)); CPPUNIT_ASSERT_EQUAL(expectedvars2.at(1), usedvars.at(1)); CPPUNIT_ASSERT_EQUAL(expectedvars2.at(2), usedvars.at(2)); CPPUNIT_ASSERT_EQUAL(expectedvars2.at(3), usedvars.at(3)); CPPUNIT_ASSERT_EQUAL(expectedvars2.at(4), usedvars.at(4)); CPPUNIT_ASSERT_EQUAL(expectedvars2.at(5), usedvars.at(5)); CPPUNIT_ASSERT_EQUAL(expectedvars2.at(6), usedvars.at(6)); usedvars = pkb.getUsedVarAtProc(C); sort(usedvars.begin(), usedvars.end()); int vars3[] = { a, c, k, loops, yes}; vector<int> expectedvars3(vars3, vars3 + sizeof(vars3) / sizeof(int) ); sort(expectedvars3.begin(), expectedvars3.end()); CPPUNIT_ASSERT_EQUAL(expectedvars3.at(0), usedvars.at(0)); CPPUNIT_ASSERT_EQUAL(expectedvars3.at(1), usedvars.at(1)); CPPUNIT_ASSERT_EQUAL(expectedvars3.at(2), usedvars.at(2)); CPPUNIT_ASSERT_EQUAL(expectedvars3.at(3), usedvars.at(3)); CPPUNIT_ASSERT_EQUAL(expectedvars3.at(4), usedvars.at(4)); }