// Path: src/test/java/org/jboss/arquillian/seam2/test/conversation/Item.java
// public class Item
// {
// 
//    private final String name;
// 
//    private final BigDecimal price;
// 
//    public Item(String name, BigDecimal price)
//    {
//       this.name = name;
//       this.price = price;
//    }
// 
//    // Public methods
// 
//    @Override
//    public int hashCode()
//    {
//       final int prime = 31;
//       int result = 1;
//       result = prime * result + ((name == null) ? 0 : name.hashCode());
//       result = prime * result + ((price == null) ? 0 : price.hashCode());
//       return result;
//    }
// 
//    @Override
//    public boolean equals(Object obj)
//    {
//       if (this == obj)
//       {
//          return true;
//       }
//       if (!(obj instanceof Item))
//       {
//          return false;
//       }
// 
//       final Item other = (Item) obj;
// 
//       if (name == null && other.getName() != null)
//       {
//             return false;
//       }
//       else if (!name.equals(other.getName()))
//       {
//          return false;
//       }
// 
//       if (price == null && other.getPrice() != null)
//       {
//             return false;
//       }
//       else if (!price.equals(other.getPrice()))
//       {
//          return false;
//       }
// 
//       return true;
//    }
// 
//    // Accessor methods
// 
//    public String getName()
//    {
//       return name;
//    }
// 
//    public BigDecimal getPrice()
//    {
//       return price;
//    }
// 
// }
// 
// Path: src/test/java/org/jboss/arquillian/seam2/test/conversation/ShoppingCart.java
// @Name("shoppingCart")
// @Conversational
// public class ShoppingCart
// {
// 
//    private final Map<Item, Integer> basket = new HashMap<Item, Integer>();
// 
//    @Begin(join = true)
//    public void add(Item item)
//    {
//       add(item, 1);
//    }
// 
//    @Begin(join = true)
//    public void add(Item item, Integer amount)
//    {
//       Integer currentAmount = basket.get(item);
//       if (currentAmount == null)
//       {
//          currentAmount = Integer.valueOf(0);
//       }
//       basket.put(item, currentAmount + amount);
//    }
// 
//    @End
//    public BigDecimal checkout()
//    {
//       BigDecimal result = BigDecimal.ZERO;
//       for (Item item : basket.keySet())
//       {
//          result = result.add(item.getPrice().multiply(BigDecimal.valueOf(basket.get(item))));
//       }
// 
//       return result;
//    }
// 
// }


import static org.fest.assertions.Assertions.*;
import java.math.BigDecimal;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.seam2.test.conversation.Item;
import org.jboss.arquillian.seam2.test.conversation.ShoppingCart;
import org.jboss.seam.annotations.In;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;
package org.jboss.arquillian.seam2;




@RunWith(Arquillian.class)
public class ConversationTestCase
{

   @Deployment
   public static Archive<?> createDeployment()
   {
      return ShrinkWrap.create(WebArchive.class, "test.war")
// Path: src/test/java/org/jboss/arquillian/seam2/test/conversation/Item.java
// public class Item
// {
// 
//    private final String name;
// 
//    private final BigDecimal price;
// 
//    public Item(String name, BigDecimal price)
//    {
//       this.name = name;
//       this.price = price;
//    }
// 
//    // Public methods
// 
//    @Override
//    public int hashCode()
//    {
//       final int prime = 31;
//       int result = 1;
//       result = prime * result + ((name == null) ? 0 : name.hashCode());
//       result = prime * result + ((price == null) ? 0 : price.hashCode());
//       return result;
//    }
// 
//    @Override
//    public boolean equals(Object obj)
//    {
//       if (this == obj)
//       {
//          return true;
//       }
//       if (!(obj instanceof Item))
//       {
//          return false;
//       }
// 
//       final Item other = (Item) obj;
// 
//       if (name == null && other.getName() != null)
//       {
//             return false;
//       }
//       else if (!name.equals(other.getName()))
//       {
//          return false;
//       }
// 
//       if (price == null && other.getPrice() != null)
//       {
//             return false;
//       }
//       else if (!price.equals(other.getPrice()))
//       {
//          return false;
//       }
// 
//       return true;
//    }
// 
//    // Accessor methods
// 
//    public String getName()
//    {
//       return name;
//    }
// 
//    public BigDecimal getPrice()
//    {
//       return price;
//    }
// 
// }
// 
// Path: src/test/java/org/jboss/arquillian/seam2/test/conversation/ShoppingCart.java
// @Name("shoppingCart")
// @Conversational
// public class ShoppingCart
// {
// 
//    private final Map<Item, Integer> basket = new HashMap<Item, Integer>();
// 
//    @Begin(join = true)
//    public void add(Item item)
//    {
//       add(item, 1);
//    }
// 
//    @Begin(join = true)
//    public void add(Item item, Integer amount)
//    {
//       Integer currentAmount = basket.get(item);
//       if (currentAmount == null)
//       {
//          currentAmount = Integer.valueOf(0);
//       }
//       basket.put(item, currentAmount + amount);
//    }
// 
//    @End
//    public BigDecimal checkout()
//    {
//       BigDecimal result = BigDecimal.ZERO;
//       for (Item item : basket.keySet())
//       {
//          result = result.add(item.getPrice().multiply(BigDecimal.valueOf(basket.get(item))));
//       }
// 
//       return result;
//    }
// 
// }


// Path: src/test/java/org/jboss/arquillian/seam2/ConversationTestCase.java
import static org.fest.assertions.Assertions.*;
import java.math.BigDecimal;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.seam2.test.conversation.Item;
import org.jboss.arquillian.seam2.test.conversation.ShoppingCart;
import org.jboss.seam.annotations.In;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;

package org.jboss.arquillian.seam2;




@RunWith(Arquillian.class)
public class ConversationTestCase
{

   @Deployment
   public static Archive<?> createDeployment()
   {
      return ShrinkWrap.create(WebArchive.class, "test.war")
                       .addPackage(Item.class.getPackage())