Esempio n. 1
0
void lc3_run_test_suite(lc3_test_suite& suite, const std::string& filename, int seed)
{
    bool passed = true;
    unsigned int total_points = 0;
    unsigned int points = 0;

    for (unsigned int i = 0; i < suite.tests.size(); i++)
    {
        lc3_run_test_case(suite.tests[i], filename, seed);
        passed = passed && suite.tests[i].passed;
        points += suite.tests[i].points;
        total_points += suite.tests[i].max_points;
    }
    suite.passed = passed;
    suite.points = points;
    suite.max_points = total_points;
}
Esempio n. 2
0
void RunTestDialog::OnRunTest(wxCommandEvent& event)
{
    wxTreeItemId id = testTree->GetSelection();
    wxTreeItemId root = testTree->GetRootItem();

    if (!id.IsOk()) return;
    if (id == root) return;

    if (testTree->GetItemParent(id) != testTree->GetRootItem())
    {
        id = testTree->GetItemParent(id);
    }

    if (testTree->GetItemParent(id) != testTree->GetRootItem())
    {
        // Shouldn't happen
        return;
    }

    testTree->Unselect();
    testTree->ToggleItemSelection(id);

    TestTreeItem* treeItem = reinterpret_cast<TestTreeItem*>(testTree->GetItemData(id));
    lc3_test* test = reinterpret_cast<lc3_test*>(treeItem->data);

    try
    {
        lc3_run_test_case(*test, currentFile.GetFullPath().ToStdString(), false);
    }
    catch (const char* x)
    {
        wxMessageBox(wxString::Format("BAD STUDENT! %s", x), "Run Tests Failed");
        return;
    }
    catch (std::string x)
    {
        wxMessageBox(wxString::Format("BAD STUDENT! %s", x), "Run Tests Failed");
        return;
    }

    tspanel->Update();
    tcpanel->Update();
    cipanel->Update();
}