package org.molgenis.data.support; import org.molgenis.data.meta.AttributeType; import org.molgenis.data.meta.model.Attribute; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.util.Arrays; import java.util.Iterator; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.molgenis.data.meta.AttributeType.*; import static org.testng.Assert.assertEquals; public class AttributeUtilsTest { @DataProvider(name = "isIdAttributeTypeAllowedProvider") public static Iterator<Object[]> isIdAttributeTypeAllowedProvider() { return Arrays.asList(new Object[] { BOOL, false }, new Object[] { CATEGORICAL, false }, new Object[] { CATEGORICAL_MREF, false }, new Object[] { COMPOUND, false }, new Object[] { DATE, false }, new Object[] { DATE_TIME, false }, new Object[] { DECIMAL, false }, new Object[] { EMAIL, true }, new Object[] { ENUM, false }, new Object[] { FILE, false }, new Object[] { HTML, false }, new Object[] { HYPERLINK, true }, new Object[] { INT, true }, new Object[] { LONG, true }, new Object[] { MREF, false }, new Object[] { SCRIPT, false }, new Object[] { STRING, true }, new Object[] { TEXT, false }, new Object[] { XREF, false }).iterator(); } @Test(dataProvider = "isIdAttributeTypeAllowedProvider") public void isIdAttributeTypeAllowed(AttributeType attrType, boolean validIdAttrType) throws Exception { Attribute attr = when(mock(Attribute.class).getDataType()).thenReturn(attrType).getMock(); assertEquals(AttributeUtils.isIdAttributeTypeAllowed(attr), validIdAttrType); } }