Changeset 612


Ignore:
Timestamp:
Mar 27, 2012, 10:36:17 PM (5 years ago)
Author:
freek.de.bruijn@…
Message:

Added five tests for ConceptServiceImpl?.searchConcepts.

File:
1 edited

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
Note: See TracChangeset for help on using the changeset viewer.