    @Test
    public void getSongsParsesSongWithCommas() throws IOException,
            URISyntaxException
    {

        // given
        final int expectedSongListSize = 3;

        final String expectedSong3Title = "Song Title, With Comma";
        final String expectedSong3Artist = "Artist 2";
        final String expectedSong3Album = "Album 2";
        final int expectedSong3Year = 2014;

        final String testData = Files.asCharSource(
                new File("src/test/resources/loadAllTracksResponse.html"),
                Charsets.UTF_8).read();
        when(
                mockHttpClient.dispatchPost(isA(URI.class),
                        isA(FormBuilder.class))).thenReturn(testData);

        final GoogleMusicAPI api = new GoogleMusicAPI(mockHttpClient, new JSON(),
                new File("."));

        // when
        final Collection<Song> songs = api.getAllSongs();

        // then
        assertEquals(expectedSongListSize, songs.size());

        final Song song = Lists.newArrayList(songs.iterator()).get(2);
        assertEquals(expectedSong3Title, song.getTitle());
        assertEquals(expectedSong3Artist, song.getArtist());
        assertEquals(expectedSong3Album, song.getAlbum());
        assertEquals(expectedSong3Year, song.getYear());
    }