package fr.umlv.fruits;

import static org.junit.Assert.*;

import org.junit.Test;

public class BasketTest {
  @Test
  public void getPrice() {
    Orange orange1 = new Orange("US", 75);
    Orange orange2 = new Orange("Spain", 75);
    Basket basket = new Basket();
    basket.add(orange1);
    basket.add(orange2);
    assertEquals(orange1.getPrice() + orange2.getPrice(), basket.getPrice());
  }
  
  @Test
  public void findFirstItemByCountry() {
    Orange orange1 = new Orange("US", 75);
    Orange orange2 = new Orange("Spain", 75);
    Orange orange3 = new Orange("Spain", 80);
    Basket basket = new Basket();
    basket.add(orange1);
    basket.add(orange2);
    basket.add(orange3);
    assertSame(orange1, basket.findFirstItemByCountry("US"));
    assertSame(orange2, basket.findFirstItemByCountry("Spain"));
  }

  @Test
  public void findFirstItemByCountry2() {
    Orange orange = new Orange("Italy", 60);
    Basket basket = new Basket();
    basket.add(orange);
    assertNull(basket.findFirstItemByCountry("England"));
  }
  
  @Test(expected=NullPointerException.class)
  public void findFirstItemByCountryWithNull() {
    Basket basket = new Basket();
    basket.findFirstItemByCountry(null);
  }
}
