/* * Copyright (c) 2006 Rogério Liesenfeld * This file is subject to the terms of the MIT license (see LICENSE.txt). */ package orderMngr.domain.order; import java.math.*; import java.util.*; import org.junit.*; import mockit.*; import static java.util.Arrays.*; import static org.junit.Assert.*; public final class OrderFactoryTest { @Tested OrderFactory factory; @Mocked OrderRepository orderRepository; @Test public void createOrder() throws Exception { // Test data: List<OrderItem> expectedItems = asList( new OrderItem("393439493", "Core Java 5 6ed", 2, new BigDecimal("45.00")), new OrderItem("04940458", "JUnit Recipes", 1, new BigDecimal("49.95"))); // Exercises code under test: String customerId = "123"; final Order created = factory.createOrder(customerId, expectedItems); // Conventional JUnit state-based verifications: assertNotNull(created); assertEquals(customerId, created.getCustomerId()); assertEquals(expectedItems, created.getItems()); // Verify that expected invocations (excluding the ones inside a previous Expectations block) // actually occurred: new Verifications() {{ orderRepository.create(created); }}; } }