package org.magenta.core;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.verify;
import org.junit.Test;
import org.magenta.DataSet;
import org.mockito.Mockito;
import com.google.common.base.Suppliers;
public class ForwardingDataSetTest {
@Test
public void testDelegation() {
// setup fixtures
DataSet<String> delegate = Mockito.mock(DataSet.class);
ForwardingDataSet<String> sut = new ForwardingDataSet<String>(Suppliers.ofInstance(delegate));
// exercise sut
sut.any();
sut.equals(null);
sut.filter(null);
sut.get();
sut.hashCode();
sut.link(null);
sut.list();
sut.list(0);
sut.randomList();
sut.randomList(0);
sut.reverseLink(null, null);
sut.set();
sut.set(0);
sut.subset(0);
sut.transform(null, null);
// verify outcome
verify(delegate).any();
verify(delegate).filter(null);
verify(delegate).get();
verify(delegate).link(null);
verify(delegate).list();
verify(delegate).list(0);
verify(delegate).randomList();
verify(delegate).randomList(0);
verify(delegate).reverseLink(null, null);
verify(delegate).set();
verify(delegate).set(0);
verify(delegate).subset(0);
verify(delegate).transform(null, null);
}
@Test
public void testEquals() {
// setup fixtures
DataSet<String> delegate = Fixtures.createAnonymousDataSet(10);
DataSet<String> sut = new ForwardingDataSet<String>(Suppliers.ofInstance(delegate));
DataSet<String> same = new ForwardingDataSet<String>(Suppliers.ofInstance(delegate));
// exercise and verify outcome
assertThat(delegate).isEqualTo(sut)
.isEqualTo(same);
assertThat(sut).isEqualTo(delegate)
.isEqualTo(same);
}
}