
package org.assertj.core.api.iterable;

import static org.assertj.core.util.Lists.newArrayList;
import static org.mockito.Mockito.verify;

import java.util.List;

import org.assertj.core.api.ConcreteIterableAssert;
import org.assertj.core.api.IterableAssertBaseTest;

/**
 * Tests for <code>{@link org.assertj.core.api.AbstractIterableAssert#containsExactlyElementsOf(Iterable)} </code>.
 * 
 * @author Jean-Christophe Gay
 */
public class IterableAssert_containsExactlyElementsOf_Test extends IterableAssertBaseTest {

  private final List<String> values = newArrayList("Yoda", "Luke");

  @Override
  protected ConcreteIterableAssert<Object> invoke_api_method() {
    return assertions.containsExactlyElementsOf(values);
  }

  @Override
  protected void verify_internal_effects() {
    verify(iterables).assertContainsExactly(getInfo(assertions), getActual(assertions), values.toArray());
  }
}
