// Path: app/src/test/java/de/czyrux/store/test/CartProductFakeCreator.java
// public class CartProductFakeCreator {
// 
//     private static final String DEFAULT_SKU = "ada300343";
//     private static final int DEFAULT_QUANTITY = 1;
// 
//     private CartProductFakeCreator() {
//     }
// 
//     public static CartProduct createProduct() {
//         return createProduct(DEFAULT_SKU, DEFAULT_QUANTITY);
//     }
// 
//     public static CartProduct createProduct(String sku) {
//         return createProduct(sku, DEFAULT_QUANTITY);
//     }
// 
//     public static CartProduct createProduct(String sku, int quantity) {
//         return new CartProduct(sku, "Adidas Perf", "someImage", 23.5f, quantity);
//     }
// }
// 
// Path: app/src/test/java/de/czyrux/store/test/CartFakeCreator.java
// public class CartFakeCreator {
// 
//     public static Cart emptyCart() {
//         return new Cart(Collections.emptyList());
//     }
// 
//     public static Cart cartWithElements(CartProduct... products) {
//         return new Cart(Arrays.asList(products));
//     }
// }


import org.junit.Test;
import java.util.List;
import de.czyrux.store.test.CartProductFakeCreator;
import de.czyrux.store.test.CartFakeCreator;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
package de.czyrux.store.core.domain.cart;





public class CartBuilderTest {

    @Test
    public void should_InitializeEmpty_When_InitialCartElementsAreNull() {

        Cart cart = CartBuilder.from(new Cart(null))
                .build();

        assertTrue(cart.products.isEmpty());
    }

    @Test
    public void should_createAnEmptyCart_When_NoCartProvided() {
        Cart cart = CartBuilder.empty().build();

        assertTrue(cart.products.isEmpty());
    }

    @Test
    public void should_createACartWithInitialItems_When_CartProvided() {

// Path: app/src/test/java/de/czyrux/store/test/CartProductFakeCreator.java
// public class CartProductFakeCreator {
// 
//     private static final String DEFAULT_SKU = "ada300343";
//     private static final int DEFAULT_QUANTITY = 1;
// 
//     private CartProductFakeCreator() {
//     }
// 
//     public static CartProduct createProduct() {
//         return createProduct(DEFAULT_SKU, DEFAULT_QUANTITY);
//     }
// 
//     public static CartProduct createProduct(String sku) {
//         return createProduct(sku, DEFAULT_QUANTITY);
//     }
// 
//     public static CartProduct createProduct(String sku, int quantity) {
//         return new CartProduct(sku, "Adidas Perf", "someImage", 23.5f, quantity);
//     }
// }
// 
// Path: app/src/test/java/de/czyrux/store/test/CartFakeCreator.java
// public class CartFakeCreator {
// 
//     public static Cart emptyCart() {
//         return new Cart(Collections.emptyList());
//     }
// 
//     public static Cart cartWithElements(CartProduct... products) {
//         return new Cart(Arrays.asList(products));
//     }
// }


// Path: app/src/test/java/de/czyrux/store/core/domain/cart/CartBuilderTest.java
import org.junit.Test;
import java.util.List;
import de.czyrux.store.test.CartProductFakeCreator;
import de.czyrux.store.test.CartFakeCreator;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

package de.czyrux.store.core.domain.cart;





public class CartBuilderTest {

    @Test
    public void should_InitializeEmpty_When_InitialCartElementsAreNull() {

        Cart cart = CartBuilder.from(new Cart(null))
                .build();

        assertTrue(cart.products.isEmpty());
    }

    @Test
    public void should_createAnEmptyCart_When_NoCartProvided() {
        Cart cart = CartBuilder.empty().build();

        assertTrue(cart.products.isEmpty());
    }

    @Test
    public void should_createACartWithInitialItems_When_CartProvided() {

        CartProduct product1 = CartProductFakeCreator.createProduct("Sku1");