package fr.umlv.fruits;

import static org.junit.Assert.assertTrue;

import java.util.ArrayList;
import java.util.HashSet;

import org.junit.Test;

public class Orange2Test {
  @Test(expected=NullPointerException.class)
  public void contryExists() {
    Orange orange = new Orange(null, 125);
  }
  
  @Test
  public void testEquals() {
    Orange orange1 = new Orange("France", 75);
    Orange orange2 = new Orange("France", 75);
    assertTrue(orange1.equals(orange2));
  }
  
  @Test
  public void testEquals2() {
    Orange orange1 = new Orange("France", 75);
    Orange orange2 = new Orange(new String("France"), 75);
    assertTrue(orange1.equals(orange2));
  }

  @Test
  public void testContains1() {
    Orange orange1 = new Orange("France", 75);
    Orange orange2 = new Orange("France", 75);
    ArrayList<Orange> list = new ArrayList<>();
    list.add(orange1);
    assertTrue(list.contains(orange2));
  }
  
  @Test
  public void testContains2() {
    Orange orange1 = new Orange("France", 75);
    Orange orange2 = new Orange("France", 75);
    HashSet<Orange> set = new HashSet<>();
    set.add(orange1);
    assertTrue(set.contains(orange2));
  }
  
  @Test
  public void testNotContains1a() {
    Orange orange1 = new Orange("France", 75);
    Orange orange2 = new Orange("France", 85);
    ArrayList<Orange> list = new ArrayList<>();
    list.add(orange1);
    assertTrue(!list.contains(orange2));
  }
  
  @Test
  public void testNotContains1b() {
    Orange orange1 = new Orange("France", 75);
    Orange orange2 = new Orange("france", 75);
    ArrayList<Orange> list = new ArrayList<>();
    list.add(orange1);
    assertTrue(!list.contains(orange2));
  }
  
  @Test
  public void testNotContains2a() {
    Orange orange1 = new Orange("France", 75);
    Orange orange2 = new Orange("France", 85);
    HashSet<Orange> set = new HashSet<>();
    set.add(orange1);
    assertTrue(!set.contains(orange2));
  }
  
  @Test
  public void testNotContains2b() {
    Orange orange1 = new Orange("France", 75);
    Orange orange2 = new Orange("france", 75);
    HashSet<Orange> set = new HashSet<>();
    set.add(orange1);
    assertTrue(!set.contains(orange2));
  }
}
