package org.springframework.roo.addon.layers.repository.mongo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.HashSet; import java.util.Set; import org.apache.commons.lang3.StringUtils; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.roo.model.JavaType; /** * Unit test of the {@link RepositoryMongoLayerMethod} enum. * * @author Stefan Schmidt * @since 1.2.0 */ public class RepositoryMongoLayerMethodTest { @Mock private JavaType mockIdType; // Fixture @Mock private JavaType mockTargetEntity; @Before public void setUp() { MockitoAnnotations.initMocks(this); } @Test public void testNamesAreUniqueAndNotBlank() { final Set<String> names = new HashSet<String>(); for (final RepositoryMongoLayerMethod method : RepositoryMongoLayerMethod .values()) { final String name = method.getName(); names.add(name); assertTrue(StringUtils.isNotBlank(name)); } assertEquals(RepositoryMongoLayerMethod.values().length, names.size()); } @Test public void testParameterTypesAreNotNull() { for (final RepositoryMongoLayerMethod method : RepositoryMongoLayerMethod .values()) { assertNotNull(method .getParameterTypes(mockTargetEntity, mockIdType)); } } }