Changeset 612

Show
Ignore:
Timestamp:
27-03-12 22:36:17 (2 years ago)
Author:
freek.de.bruijn@…
Message:

Added five tests for ConceptServiceImpl?.searchConcepts.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/code/conceptwiki/service/service-impl/src/test/java/nl/nbic/conceptwiki/service/ConceptServiceImplUnitTest.java

    r611 r612  
    11package nl.nbic.conceptwiki.service; 
    22 
     3import static nl.nbic.conceptwiki.common.util.CommonTestObjects.PREF_LABEL_A; 
    34import static org.junit.Assert.assertEquals; 
    45import static org.junit.Assert.assertFalse; 
    56import static org.junit.Assert.assertNotNull; 
     7import static org.junit.Assert.assertTrue; 
    68import static org.mockito.Mockito.when; 
    79import static org.mockito.Mockito.doThrow; 
     
    1012import com.google.common.collect.Sets; 
    1113import java.util.ArrayList; 
     14import java.util.Arrays; 
    1215import java.util.List; 
    1316import java.util.UUID; 
     
    1821import nl.nbic.conceptwiki.common.api.Language; 
    1922 
     23import nl.nbic.conceptwiki.common.api.Label; 
    2024import nl.nbic.conceptwiki.common.api.SearchResult; 
    2125import nl.nbic.conceptwiki.common.impl.ConceptImpl; 
     
    3943import org.mockito.Spy; 
    4044import org.mockito.runners.MockitoJUnitRunner; 
     45 
     46import com.google.common.collect.ImmutableSet; 
    4147 
    4248 
     
    7480    private HistoryService mockHistoryService; 
    7581         
    76 //      public void testSearchConceptsEmptyQuery() 
    77 //      public void testSearchConceptsInvalidLimit() 
    78 //      public void testSearchConceptsNoResults() 
    79 //      public void testSearchConceptsSingleResult() 
    80 //      public void testSearchConceptsSingleResultWithLabel() 
    81 //      public void testSearchConceptsMultipleResults() 
    82      
     82        @Test 
     83        public void testSearchConceptsEmptyQuery() { 
     84                // no setup 
     85 
     86                // exercise 
     87                final List<SearchResult> results = conceptService.searchConcepts("", QueryScopeImpl.LITE_SCOPE, DEFAULT_LIMIT); 
     88                 
     89                // verify 
     90                assertNotNull(results); 
     91                assertTrue(results.isEmpty()); 
     92        } 
     93     
     94        @Test 
     95        public void testSearchConceptsInvalidLimit() { 
     96                // no setup 
     97 
     98                // exercise 
     99                final List<SearchResult> results = conceptService.searchConcepts("malaria", QueryScopeImpl.LITE_SCOPE, -1); 
     100                 
     101                // verify 
     102                assertNotNull(results); 
     103                assertTrue(results.isEmpty()); 
     104        } 
     105     
     106        @Test 
     107        public void testSearchConceptsNoResults() { 
     108                // no setup 
     109 
     110                // exercise 
     111                final List<SearchResult> results = conceptService.searchConcepts("malaria", QueryScopeImpl.LITE_SCOPE, DEFAULT_LIMIT); 
     112                 
     113                // verify 
     114                assertNotNull(results); 
     115                assertTrue(results.isEmpty()); 
     116        } 
     117 
    83118        @Test 
    84119        public void testSearchConceptsSingleResult() { 
    85120                // setup 
     121                final List<SearchResult> searchResults = Arrays.asList((SearchResult) new SearchResultImpl("malaria", "123456")); 
     122                when(mockSearchService.searchConcepts(Mockito.anyString(), Mockito.anyInt(), Mockito.anyInt())).thenReturn(searchResults); 
     123 
     124                // exercise 
     125                final List<SearchResult> results = conceptService.searchConcepts("malaria", QueryScopeImpl.LITE_SCOPE, DEFAULT_LIMIT); 
     126                 
     127                // verify 
     128                assertNotNull(results); 
     129                assertFalse(results.isEmpty()); 
     130        } 
     131         
     132        @Test 
     133        public void testSearchConceptsSingleResultWithLabel() { 
     134                // setup 
     135                final String uuid = "123456"; 
    86136                final List<SearchResult> searchResults = new ArrayList<SearchResult>(); 
    87                 searchResults.add(new SearchResultImpl("malaria", "123456")); 
     137                searchResults.add(new SearchResultImpl("malaria", uuid)); 
    88138                when(mockSearchService.searchConcepts(Mockito.anyString(), Mockito.anyInt(), Mockito.anyInt())).thenReturn(searchResults); 
    89  
    90                 // exercise 
    91                 final List<SearchResult> results = conceptService.searchConcepts("test", QueryScopeImpl.LITE_SCOPE, DEFAULT_LIMIT); 
    92                  
    93                 // verify 
    94                 assertNotNull(results); 
    95                 assertFalse(results.isEmpty()); 
     139                // ... 
     140                final ImmutableSet<Label> testLabels = ImmutableSet.of(PREF_LABEL_A); 
     141                when(mockStorageService.getConcept(uuid)).thenReturn(new ConceptImpl.Builder().labels(testLabels).build()); 
     142 
     143                // exercise 
     144                final List<SearchResult> results = conceptService.searchConcepts("malaria", QueryScopeImpl.LITE_SCOPE, DEFAULT_LIMIT); 
     145                 
     146                // verify 
     147                assertNotNull(results); 
     148                assertEquals(1, results.size()); 
     149                assertEquals(testLabels, results.get(0).getLabels()); 
     150        } 
     151 
     152        @Test 
     153        public void testSearchConceptsMultipleResults() { 
     154                // setup 
     155                final List<SearchResult> searchResults = Arrays.asList((SearchResult) new SearchResultImpl("malaria", "123456"), 
     156                                (SearchResult) new SearchResultImpl("malaria mosquito", "789abc")); 
     157                when(mockSearchService.searchConcepts(Mockito.anyString(), Mockito.anyInt(), Mockito.anyInt())).thenReturn(searchResults); 
     158 
     159                // exercise 
     160                final List<SearchResult> results = conceptService.searchConcepts("malaria", QueryScopeImpl.LITE_SCOPE, DEFAULT_LIMIT); 
     161                 
     162                // verify 
     163                assertNotNull(results); 
     164                assertEquals(2, results.size()); 
    96165        } 
    97166