package com.klarna.hiverunner.data;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.verify;
import java.io.File;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import com.google.common.collect.Multimap;
@RunWith(MockitoJUnitRunner.class)
public class InsertIntoTableTest {
@Mock
private TableDataBuilder builder;
@Mock
private TableDataInserter inserter;
private InsertIntoTable insert;
@Before
public void before() {
insert = new InsertIntoTable(builder, inserter);
}
@Test
public void withColumns() {
insert.withColumns(any(String[].class));
verify(builder).withColumns(any(String[].class));
}
@Test
public void withAllColumns() {
insert.withAllColumns();
verify(builder).withAllColumns();
}
@Test
public void newRow() {
insert.newRow();
verify(builder).newRow();
}
@Test
public void addRow() {
insert.addRow(any(Object[].class));
verify(builder).addRow(any(Object[].class));
}
@Test
public void setRow() {
insert.setRow(any(Object[].class));
verify(builder).setRow(any(Object[].class));
}
@Test
public void addRows() {
insert.addRowsFromTsv(any(File.class));
verify(builder).addRowsFromTsv(any(File.class));
}
@Test
public void addRowsWithFileParser() {
insert.addRowsFrom(any(File.class), any(FileParser.class));
verify(builder).addRowsFrom(any(File.class), any(FileParser.class));
}
@Test
public void copyRow() {
insert.copyRow();
verify(builder).copyRow();
}
@Test
public void set() {
insert.set("a", "b");
verify(builder).set("a", "b");
}
@Test
public void commit() {
insert.commit();
verify(builder).build();
verify(inserter).insert(any(Multimap.class));
}
}