From 96f19e1e57c9d8508c7003aa4de4a87d0c7239c3 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Wed, 8 Apr 2015 01:02:42 -0700 Subject: 1038 - clean up layer organization a little Things are quite intricate to avoid reloading all recipes before every test. But mu wasn't really intended to sidestep intrinsic intricacy. --- cpp/011load | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'cpp/011load') diff --git a/cpp/011load b/cpp/011load index c111ba42..3ef1a409 100644 --- a/cpp/011load +++ b/cpp/011load @@ -24,7 +24,6 @@ vector add_recipes(istream& in) { // Command Handlers if (command == "recipe") { result.push_back(add_recipe(in)); - recipes_added_by_test.push_back(result.back()); } // End Command Handlers else { @@ -65,6 +64,8 @@ recipe_number add_recipe(istream& in) { } Recipe[r].name = recipe_name; //? cout << "recipe " << recipe_name << " has " << Recipe[r].steps.size() << " steps.\n"; //? 1 + // track added recipes because we may need to undo them in tests; see below + recently_added_recipes.push_back(r); return r; } @@ -187,6 +188,18 @@ void skip_comma(istream& in) { skip_whitespace(in); } +//: Recipes added for tests should be easy to remove as well. +:(before "End Globals") +vector recently_added_recipes; +:(before "End Setup") +for (size_t i = 0; i < recently_added_recipes.size(); ++i) { +//? cout << "AAA clearing " << Recipe[recently_added_recipes[i]].name << '\n'; //? 2 + Recipe_number.erase(Recipe[recently_added_recipes[i]].name); + Recipe.erase(recently_added_recipes[i]); +} +// Clear state for recently_added_recipes +recently_added_recipes.clear(); + :(scenario parse_comment_outside_recipe) # comment recipe main [ -- cgit 1.4.1-2-gfad0