Commit 026eebb2 authored by Trisha Gee's avatar Trisha Gee
Browse files

[Ch10c] Regex example, as if their poor brains weren't already exploding

parent 13dd8428
Loading
Loading
Loading
Loading
+18 −0
Changes for src/test/java/ch10c/JukeboxQueriesTest.java: 18 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import org.junit.jupiter.api.Test;

import java.util.*;
import java.util.function.Function;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

import static java.util.stream.Collectors.*;
@@ -24,6 +25,7 @@ class JukeboxQueriesTest {
    System.out.println(allSongs);
  }

  // STRAIGHTFORWARD
  // Sorting, Collect to List
  @Test
  void shouldOrderByLeastPlayed() {
@@ -36,6 +38,22 @@ class JukeboxQueriesTest {
    System.out.println(result);
  }

  // REGEX
  @Test
  void shouldFindNonStandardCharacters() {
    List<Song> allSongs = songs.getSongs();

    // Includes space!!
    Pattern pattern = Pattern.compile("[^A-Za-z0-9 ]");

    List<String> result = allSongs.stream()
                                .map(Song::getArtist)
                                .filter(artist -> pattern.matcher(artist).find())
                                .collect(Collectors.toList());

    System.out.println("result = " + result);
  }

  @Test
  void shouldQueryForGenre() {
    List<Song> allSongs = songs.getSongs();