package com.txtr.hibernatedelta.model;
import org.apache.commons.io.IOUtils;
import org.junit.Assert;
import org.junit.Test;
import com.google.common.collect.ImmutableList;
import com.thoughtworks.xstream.XStream;
public class HibernateIndexUtilTest {
@Test
public void testRemoveDominatedIndexes() throws Exception {
HibernateTable table = new HibernateTable("physical", null, false);
table.addColumn(new HibernateColumn("fk", "parent", false, null, "sqlType", null, null));
table.addExplicitIndex(new ExplicitHibernateIndex("index", false, false, ImmutableList.of("fk", "secondary")));
//just to test nothing else is dominated
table.addColumn(new HibernateColumn("other", "parent2", false, null, "sqlType", null, null));
table.addExplicitIndex(new ExplicitHibernateIndex("index2", false, false, ImmutableList.of("fk", "secondary2")));
String expected = IOUtils.toString(getClass().getClassLoader().getResourceAsStream("dominatedIndex.xml"));
Assert.assertEquals(expected, new XStream().toXML(HibernateIndexUtil.getIndexes(table)));
}
}