@Override
 public Set<Ingredient> getAllIngredients() {
   boolean ingredientIncluded = false;
   Set<Ingredient> allIngredients = new HashSet<Ingredient>();
   allIngredients.clear();
   if (fullMenu != null && !fullMenu.isEmpty()) {
     for (Dish dish : fullMenu) {
       Set<Ingredient> newIngredients = dish.getIngredients();
       if (newIngredients != null && !newIngredients.isEmpty()) {
         if (allIngredients != null && !allIngredients.isEmpty()) {
           for (Ingredient newIngredient : newIngredients) {
             Iterator<Ingredient> iterator = allIngredients.iterator();
             ingredientIncluded = false;
             while (iterator.hasNext() && ingredientIncluded == false) {
               Ingredient existingIngredient = iterator.next();
               if (existingIngredient.getName().equals(newIngredient.getName())) {
                 existingIngredient.setQuantity(
                     existingIngredient.getQuantity()
                         + newIngredient.getQuantity() * numberOfGuests);
                 existingIngredient.setPrice(
                     existingIngredient.getPrice() + newIngredient.getPrice() * numberOfGuests);
                 allIngredients.remove(existingIngredient);
                 allIngredients.add(
                     new Ingredient(
                         existingIngredient.getName(),
                         existingIngredient.getQuantity(),
                         existingIngredient.getUnit(),
                         existingIngredient.getPrice()));
                 ingredientIncluded = true;
               }
             }
             if (ingredientIncluded == false) {
               allIngredients.add(newIngredient);
             }
           }
         } else {
           Iterator<Ingredient> iterator = newIngredients.iterator();
           while (iterator.hasNext()) {
             Ingredient newIngredient = iterator.next();
             allIngredients.add(
                 new Ingredient(
                     newIngredient.getName(),
                     newIngredient.getQuantity() * numberOfGuests,
                     newIngredient.getUnit(),
                     newIngredient.getPrice() * numberOfGuests));
           }
         }
       }
     }
     return allIngredients;
   }
   return null;
 }
Ejemplo n.º 2
0
  public static void main(String[] args) {
    long start = System.currentTimeMillis();

    ConversionFactor cupToPint = new ConversionFactor("cup", "pint", 0.50721);
    ConversionFactor pintToCup = new ConversionFactor("pint", "cup", 1.97157);
    Ingredient milk = new Ingredient(2.0, "cup", "milk");
    Ingredient wine = new Ingredient(750.0, "milliliter", "wine");
    Ingredient pinotNoir = new Ingredient(750.0, "ml", "wine");
    Ingredient dietCoke = new Ingredient(0.5, "L", "diet coke");
    Ingredient bakingSoda = new Ingredient(1.5, "teaspoon", "baking soda");
    Ingredient vanilla = new Ingredient(1.0, "tablespoon", "vanilla");
    Ingredient beer = new Ingredient(1.0, "pt", "beer");
    Ingredient buttermilk = new Ingredient(0.25, "qt", "buttermilk");
    Ingredient coffee = new Ingredient(16.0, "ounce", "coffee");

    // Test Cases For Conversion Factor
    // Test Case 1
    testCase(testRightUnitCorrect(cupToPint));
    // Test Case 2
    testCase(testRightUnitCorrect(pintToCup));
    // Test Case 3
    testCase(testRightUnitIncorrect(cupToPint));
    // Test Case 4
    testCase(testRightUnitIncorrect(pintToCup));
    // Test Cases for Ingredient
    // Test Case 5
    testCase(testStandardizeUnit(milk, "cup"));
    // Test Case 6
    testCase(testStandardizeUnit(beer, "pint"));
    // Test Case 7
    testCase(testStandardizeUnit(dietCoke, "liter"));
    // Test Case 8
    testCase(testStandardizeUnit(wine, "ml"));
    // Test Case 9
    testCase(testStandardizeUnit(bakingSoda, "tsp"));
    // Test Case 10
    testCase(testStandardizeUnit(vanilla, "tbsp"));
    // Test Case 11
    testCase(testStandardizeUnit(buttermilk, "quart"));
    // Test Case 12
    testCase(testStandardizeUnit(coffee, "oz"));
    // Test Case 13
    testCase(testConvertIngredientPass(milk, cupToPint));
    // Test Case 14
    testCase(testConvertIngredientFail(dietCoke, cupToPint));
    // Test Case 15
    testCase(testEquals(milk, milk));
    // Test Case 16
    testCase(testNotEquals(milk, buttermilk));
    // Test Case 17
    testCase(testEquals(wine, pinotNoir));

    List<Ingredient> ingredientList = new LinkedList<>();
    ingredientList.add(milk);
    ingredientList.add(wine);
    ingredientList.add(dietCoke);
    ingredientList.add(bakingSoda);
    ingredientList.add(vanilla);
    ingredientList.add(beer);
    ingredientList.add(buttermilk);
    ingredientList.add(coffee);
    Recipe junk = new Recipe(ingredientList, "junk");

    List<Ingredient> doubledIngredientList = new LinkedList<>();
    for (Ingredient ingredient : ingredientList) {
      doubledIngredientList.add(
          new Ingredient(ingredient.getAmount() * 2, ingredient.getUnit(), ingredient.getItem()));
    }
    Recipe junkdoubled = new Recipe(doubledIngredientList, "junk");

    // Testing Recipe class
    // Test Case 18
    testCase(testFindIngredient(milk, junk));
    // Test Case 19
    testCase(testFindIngredient(wine, junk));
    // Test Case 20
    testCase(testFindIngredient(dietCoke, junk));
    // Test Case 21
    testCase(testFindIngredient(bakingSoda, junk));
    // Test Case 22
    testCase(testFindIngredient(vanilla, junk));
    // Test Case 23
    testCase(testFindIngredient(beer, junk));
    // Test Case 24
    testCase(testFindIngredient(buttermilk, junk));
    // Test Case 25
    testCase(testFindIngredient(coffee, junk));
    // Test Case 26
    testCase(testEquals(junk, junk));
    // Test Case 27
    testCase(testNotEquals(junk, junkdoubled));
    // Test Case 28
    testCase(testMultiplyAllAmounts(junk, 2.0, junkdoubled));

    long end = System.currentTimeMillis();
    long timeElapsed = end - start;
    System.out.println(
        Integer.toString(passed) + " out of " + Integer.toString(testsRan) + " tests passed.");
    System.out.println("Time taken:" + Long.toString(timeElapsed) + " millisecond(s).");
  }
Ejemplo n.º 3
0
 public static boolean testConvertIngredientFail(
     Ingredient ingredient, ConversionFactor conversionFactor) {
   ingredient.convertIngredient(conversionFactor);
   return !(ingredient.getUnit().equals(conversionFactor.getFrom()));
 }
Ejemplo n.º 4
0
 public static boolean testConvertIngredientPass(
     Ingredient ingredient, ConversionFactor conversionFactor) {
   String correctResult = conversionFactor.getTo();
   ingredient.convertIngredient(conversionFactor);
   return ingredient.getUnit().equals(correctResult);
 }
Ejemplo n.º 5
0
 // testing methods of Ingredients class
 public static boolean testStandardizeUnit(Ingredient ingredient, String standardUnit) {
   // tests whether you can have a standardized unit
   ingredient.standardizeUnit();
   return ingredient.getUnit().equals(standardUnit);
 }