/*******************************************************************************
* Copyright (c) 2014 EclipseSource and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* EclipseSource - initial API and implementation
******************************************************************************/
package com.eclipsesource.tabris.tracking;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
import java.math.BigDecimal;
import org.junit.Test;
public class OrderItemTest {
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullName() {
new OrderItem( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyName() {
new OrderItem( "" );
}
@Test
public void testIsEqual() {
OrderItem item = new OrderItem( "foo" );
OrderItem item2 = new OrderItem( "foo" );
assertEquals( item, item2 );
}
@Test
public void testHasName() {
OrderItem item = new OrderItem( "foo" );
String name = item.getName();
assertEquals( "foo", name );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsToSetNullPrice() {
OrderItem item = new OrderItem( "foo" );
item.setPrice( null );
}
@Test
public void testSetsPrice() {
OrderItem item = new OrderItem( "foo" );
item.setPrice( BigDecimal.valueOf( 23 ) );
BigDecimal price = item.getPrice();
assertEquals( BigDecimal.valueOf( 23 ), price );
}
@Test
public void testSetPriceReturnsItem() {
OrderItem item = new OrderItem( "foo" );
OrderItem actualItem = item.setPrice( BigDecimal.valueOf( 23 ) );
assertSame( item, actualItem );
}
@Test
public void testHasDefaultQuantity() {
OrderItem item = new OrderItem( "foo" );
int quantity = item.getQuantity();
assertEquals( 1, quantity );
}
@Test
public void testSetsQuantity() {
OrderItem item = new OrderItem( "foo" );
item.setQuantity( 22 );
int quantity = item.getQuantity();
assertEquals( 22, quantity );
}
@Test
public void testSetQuantityReturnsItem() {
OrderItem item = new OrderItem( "foo" );
OrderItem actualItem = item.setQuantity( 22 );
assertSame( item, actualItem );
}
@Test
public void testSetsSKU() {
OrderItem item = new OrderItem( "foo" );
item.setSKU( "sku" );
String sku = item.getSKU();
assertSame( sku, "sku" );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullSKU() {
OrderItem item = new OrderItem( "foo" );
item.setSKU( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptySKU() {
OrderItem item = new OrderItem( "foo" );
item.setSKU( "" );
}
@Test
public void testSetSKUReturnsItem() {
OrderItem item = new OrderItem( "foo" );
OrderItem actualItem = item.setSKU( "sku" );
assertSame( item, actualItem );
}
@Test
public void testSetsCategory() {
OrderItem item = new OrderItem( "foo" );
item.setCategory( "bar" );
String category = item.getCategory();
assertEquals( category, "bar" );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithNullCategory() {
OrderItem item = new OrderItem( "foo" );
item.setCategory( null );
}
@Test( expected = IllegalArgumentException.class )
public void testFailsWithEmptyCategory() {
OrderItem item = new OrderItem( "foo" );
item.setCategory( "" );
}
@Test
public void testSetCategoryReturnsItem() {
OrderItem item = new OrderItem( "foo" );
OrderItem actualItem = item.setCategory( "bar" );
assertSame( item, actualItem );
}
}