@Test public void shouldReturnMatchingTablesWhenTagsAreSpecified() throws Exception { RandomTableGenerator generator = new RandomTableGenerator(); generator.setGameTypes("BLACKJACK", "HISSTERIA", "ROULETTE"); generator.setGameTypes(gameType); generator.setTemplateNames(toMap(gameType, variation)); generator.setClients(toMap(gameType, clientId)); generator.setFulls(false); generator.setShowInLobbys(true); generator.setAvailableForJoinings(true); generator.setStatii(TableStatus.open); generator.setTags("tag1", "tag2", "tag3"); Set<Table> generated = generator.generateTables(12); Table firstTable = generated.iterator().next(); firstTable.setTags(newHashSet("tag4")); gigaSpace.writeMultiple(generated.toArray(new Table[generated.size()])); Collection<TableSearchResult> found = tableSearchService.findTables( BigDecimal.TEN, new TableSearchCriteria(gameType, variation, clientId, newHashSet("tag4"))); assertThat(found.size(), is(equalTo(1))); assertThat(found.iterator().next().getTableId(), is(equalTo(firstTable.getTableId()))); }
@Test public void shouldReturnAllMatchingTablesWhenManyTablesExist() throws Exception { RandomTableGenerator generator = new RandomTableGenerator(); generator.setGameTypes("BLACKJACK", "HISSTERIA", "ROULETTE"); Set<Table> nonMatching = generator.generateTables(100); generator.setGameTypes(gameType); generator.setTemplateNames(toMap(gameType, variation)); generator.setClients(toMap(gameType, clientId)); generator.setFulls(false); generator.setShowInLobbys(true); generator.setAvailableForJoinings(true); generator.setStatii(TableStatus.open); generator.setTags("tag1", "tag2", "tag3"); Set<Table> matching = generator.generateTables(12); Set<Table> all = new HashSet<Table>(nonMatching); all.addAll(matching); assertEquals(112, all.size()); gigaSpace.writeMultiple(all.toArray(new Table[all.size()])); Collection<TableSearchResult> found = tableSearchService.findTables( BigDecimal.TEN, new TableSearchCriteria(gameType, variation, clientId, Collections.<String>emptySet())); assertEquals(12, found.size()); }