Initial commit — AllMusicGuide scraper and music metadata tagger
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using MusicMetaTagger.Client.AllMusicGuide.RemoteDataAccess;
|
||||
using MusicMetaTagger.Client.AllMusicGuide.RemoteDataAccess.Scraper;
|
||||
using MusicMetaTagger.Client.AllMusicGuide.Services;
|
||||
using MusicMetaTagger.Core.Queries;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace MusicMetaTagger.Client.AllMusicGuide.Tests.Services
|
||||
{
|
||||
[TestFixture]
|
||||
public class MusicGuideSearcherTests
|
||||
{
|
||||
[Test, Explicit]
|
||||
public void SearchTrackTests()
|
||||
{
|
||||
var trackSearcher = new TrackSearcher(
|
||||
new MusicGuideScraper(
|
||||
new AlbumScraper(), new AlbumResultPageScraper(),
|
||||
new ArtistScraper(), new ArtistResultPageScraper(), new ArtistDiscographyScraper(),
|
||||
new SongResultPageScraper(), new SongScraper()));
|
||||
|
||||
trackSearcher.SearchStatusUpdate += status => Debug.WriteLine(status.Status);
|
||||
|
||||
var trackQueries =
|
||||
new List<TrackQuery>
|
||||
{
|
||||
//new TrackQuery { ArtistName = "The Beach Boys", AlbumTitle = "The Smile Sessions", TrackTitle = "Gee", TrackLength = new TimeSpan(0,0,0,52), TrackNumber = 2},
|
||||
//new TrackQuery { ArtistName = "Wipers", AlbumTitle = "Wipers Box Set (disc 2: Youth of America)", TrackTitle = "When It's Over", TrackLength = new TimeSpan(0,0,6,36), TrackNumber = 6},
|
||||
//new TrackQuery { ArtistName = "Bonnie 'Prince' Billy & Matt Sweeney", AlbumTitle = "Superwolf", TrackTitle = "My Home Is the Sea", TrackLength = new TimeSpan(0,0,5,49), TrackNumber = 1},
|
||||
//new TrackQuery { ArtistName = "Aimee Mann & Michael Penn", AlbumTitle = "I Am Sam", TrackTitle = "Two of Us", TrackLength = new TimeSpan(0,0,3,31), TrackNumber = 1},
|
||||
//new TrackQuery { ArtistName = "rufus wainwright", AlbumTitle = "I Am Sam", TrackTitle = "Across the Universe", TrackLength = new TimeSpan(0,0,4,08), TrackNumber = 3},
|
||||
//new TrackQuery { ArtistName = "T.I.", AlbumTitle = "Pitchfork - Best of 2006", TrackTitle = "What You Know", TrackLength = new TimeSpan(0,0,4,34), AlbumPartOfCompilation = true},
|
||||
//new TrackQuery { ArtistName = "Dios", AlbumTitle = "Dios", TrackTitle = "Nobody's Perfect", TrackLength = new TimeSpan(0,0,5,27), TrackNumber = 1},
|
||||
//new TrackQuery {ArtistName = "Jan Hammer", TrackTitle = "Crockett's Theme"}
|
||||
//new TrackQuery { AlbumTitle = "Magnolia", TrackTitle = "One"},
|
||||
//new TrackQuery {ArtistName = "!!!", TrackTitle = "Myth Takes"},
|
||||
//new TrackQuery {ArtistName = "!!!", AlbumTitle = "Myth Takes", TrackTitle = "Myth Takes", TrackNumber = 1},
|
||||
//new TrackQuery {ArtistName = "Queen", TrackTitle = "Another One Bites the Dust"},
|
||||
//new TrackQuery {ArtistName = "Radiohad", TrackTitle = "Paranod Androd"},
|
||||
//new TrackQuery{ArtistName = "Modest Mouse", AlbumTitle = "The Lonely Crowded West", TrackTitle = "Cowboy Dan"},
|
||||
//new TrackQuery("Ruling the World") {ArtistName = "Jarvis Cocker"},
|
||||
//new TrackQuery {ArtistName = "Radiohead", TrackTitle = "Melatonin"}
|
||||
//new TrackQuery {ArtistName = "Flying Lotus feat. Thom Yorke", TrackTitle = "...and the World Laughs With You", AlbumArtistName = "Flying Lotus"},
|
||||
//new TrackQuery {ArtistName = "Flying Lotus", TrackTitle = "...and the World Laughs With You", AlbumArtistName = "Flying Lotus"}
|
||||
//new TrackQuery {ArtistName = "Bill Frisell", TrackTitle = "I Heard It Through the Grapevine", AlbumTitle = "East/West"}
|
||||
//new TrackQuery {ArtistName = "Christopher O'Riley", TrackTitle = "Everything In It's Right Place", AlbumTitle = "True Love Waits: Christopher O'Riley Plays Radiohead"}
|
||||
//new TrackQuery {ArtistName = "Roger Waters", TrackTitle = "Comfortably Numb (live) (feat. Van Morrison & The Band)", AlbumTitle = "The Departed", AlbumPartOfCompilation = true, TrackLength = new TimeSpan(0,0,8,0), TrackNumber = 1}
|
||||
//new TrackQuery {ArtistName = "Sharon Phillips", TrackTitle = "Want 2 / Need 2 (Trentemøller remix)", AlbumTitle = "The Trentemøller Chronicles (disc 2)", AlbumPartOfCompilation = false, TrackLength = new TimeSpan(0,0,6,03), TrackNumber = 8},
|
||||
//new TrackQuery {ArtistName = "Cozy Powell", TrackTitle = "Dance with the Devil", AlbumTitle = "Hot Fuzz", AlbumPartOfCompilation = false, TrackLength = new TimeSpan(0,0,3,17), TrackNumber = 5}
|
||||
new TrackQuery {ArtistName = "Alice in Chains", TrackTitle = "Rooster", AlbumTitle = "Dirt", AlbumPartOfCompilation = false, TrackLength = new TimeSpan(0,0,6,15), TrackNumber = 5}
|
||||
};
|
||||
|
||||
|
||||
foreach (var track in trackQueries.Select(trackQuery => trackSearcher.SearchTrack(trackQuery, new CancellationToken())))
|
||||
{
|
||||
Assert.IsNotNull(track);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user