public void SelectsValidReleasesWithTracks() { string fileWithValues = "data/releases-artist-2pac.json"; var values = TestHelper.GetFileData(fileWithValues); var deserializeJson = new DeserializeJson <ReleaseResults>(); var releaseResults = deserializeJson.Deserialize(values); MusicStatService sut = new MusicStatService(); MusicInterpretor sut2 = new MusicInterpretor(sut); List <Release> Releases = new List <Release>(); for (int i = 0; i < releaseResults.Releases.Count; i++) { CommandFactory commandFactory = new GetTracksByReleaseIDFactory(releaseResults.Releases[i], sut); Command command = commandFactory.GetCommand(); Task t = command.ExecuteAsync(); t.ContinueWith(task => { if (task.Status == TaskStatus.RanToCompletion) { GetTracksByReleaseID getTracksByReleaseID = (GetTracksByReleaseID)command;//doesn't filter non-unique tracks Releases.Add(getTracksByReleaseID.Release); } else { Assert.False(true); } }); } var totalTracks = Releases.Where(x => (x != null && x.Media != null)).SelectMany(x => x.Media).SelectMany(x => x.Tracks).ToList(); Assert.Equal(13, Releases.Count); Assert.True(totalTracks.Count > 0);//why are we gettin random tracks back? }
public void getsAndCalculatesAverageWords(IMusicStatService service, string artistName) { MusicInterpretor sut = new MusicInterpretor(service); Artist artist = sut.PickArtist(artistName); var average = sut.calculateArtistStats(artist); Assert.True(average.AverageWords > 0); }
public void SelectsValidArtist() { //TODO: avoids picking an artist with no releases //Picks most releases if duplicates exist or //if no duplicates exist and //the first match has no releases MusicInterpretor sut = new MusicInterpretor(new MusicStatService()); var artist = sut.PickArtist("Tupac Shakur"); Assert.False(artist == null); Assert.False(artist.Releases.Length == 0); }
public void SelectsValidReleasesWithTracksWithMultiThread() { MusicStatService sut = new MusicStatService(); MusicInterpretor sut2 = new MusicInterpretor(sut); List <Release> Releases = new List <Release>(); /* * CommandFactory commandFactory = new GetReleasesByArtistsIDFactory("382f1005-e9ab-4684-afd4-0bdae4ee37f2", sut); * Command command = commandFactory.GetCommand(); * command.ExecuteAsync().Wait(); * GetReleasesByArtistsID getTracksByReleaseID = (GetReleasesByArtistsID)command;//doesn't filter non-unique tracks * Releases = getTracksByReleaseID.ReleaseResults.Releases; * * var totalTracks = Releases.Where(x => (x != null && x.Media != null)).SelectMany(x => x.Media).SelectMany(x => x.Tracks).ToList(); * * Assert.Equal(14, Releases.Count); * Assert.True(totalTracks.Count > 0);//why are we gettin random tracks back? */ }
public void FiltersDuplicateTracksFromReleases(IMusicStatService service, string artistName) { MusicInterpretor sut = new MusicInterpretor(service); var artist = sut.PickArtist(artistName); var releases = new List <Release>(artist.Releases); List <Track> uniqueTracks = releases.SelectMany(x => x.Media[0].Tracks).ToList(); //?? for (int i = 0; i < releases.Count; i++) { } /*for (int i = 0; i < rawTracks.Count; i++) * { * Track verification = uniqueTracks.Find(x => x.Title == rawTracks[i].Title); * Assert.NotNull(verification); * }*/ }