@Test public void testBunchEdit() throws SQLException { Recipe r = RecipeUnitTest.createGenericRecipe("My Recipe", "Kyle Woo", 0, 0, 5, false); Recipe r2 = RecipeUnitTest.createGenericRecipe("My Recipe 2", "Kyle Woo", 0, 0, 5, false); ArrayList<Recipe> recipes = new ArrayList<>(); recipes.add(r); mAccessor.storeRecipe(r); mAccessor.checkInvariants(); mAccessor.storeRecipe(r2); mAccessor.checkInvariants(); Bunch b = new Bunch("My Bunch", recipes); mAccessor.storeBunch(b); mAccessor.checkInvariants(); Bunch result = mAccessor.loadBunch("My Bunch"); mAccessor.checkInvariants(); assertEquals(b, result); recipes.clear(); recipes.add(r2); b.setRecipes(recipes); mAccessor.editBunch(b); mAccessor.checkInvariants(); result = mAccessor.loadBunch("My Bunch"); mAccessor.checkInvariants(); assertEquals(b, result); }
/** * Tests creating a bunch containing a recipe, deleting the recipe, and querying for the bunch * again * * @throws SQLException */ @Test public void testDeleteRecipeInBunch() throws SQLException { final String mealName = "The 42905204th meal"; final Recipe recipe = new Recipe("A Recipe", "Alan Smithee", Collections.<Step>emptyList()); mAccessor.storeRecipe(recipe); final Bunch meal = new Bunch(mealName, Collections.singletonList(recipe)); mAccessor.storeBunch(meal); mAccessor.checkInvariants(); mAccessor.deleteRecipe(recipe); mAccessor.checkInvariants(); // Remove recipe from bunch, retrieve and check equality meal.setRecipes(Collections.<Recipe>emptyList()); final Bunch retrievedMeal = mAccessor.loadBunch(mealName); assertEquals(meal, retrievedMeal); }