public void RaisePropertyChangedTest()
        {
            var ls = CultureInfo.CurrentCulture.TextInfo.ListSeparator;
            
            var musicFile = new MockMusicFile(new MusicMetadata(new TimeSpan(0, 3, 33), 320)
            {
                Artists = new string[0],
                Title = ""
            }, @"C:\Users\Public\Music\Dancefloor\Culture Beat - Serenity.mp3");
            var dataModel = new MusicFileDataModel(musicFile);

            Assert.AreEqual("", dataModel.ArtistsString);

            AssertHelper.PropertyChangedEvent(dataModel, x => x.ArtistsString, () => musicFile.Metadata.Artists = new[] { "Culture Beat" });
            Assert.AreEqual("Culture Beat", dataModel.ArtistsString);
  
            AssertHelper.PropertyChangedEvent(dataModel, x => x.ArtistsString, () => musicFile.Metadata.Artists = new[] { "Culture Beat", "Second artist" });
            Assert.AreEqual("Culture Beat" + ls + " Second artist", dataModel.ArtistsString);
        }
 private static int GenreColumnComparison(MusicFileDataModel x, MusicFileDataModel y)
 {
     var genreX = x.MusicFile.IsMetadataLoaded ? StringListConverter.ToString(x.MusicFile.Metadata.Genre) : "";
     var genreY = y.MusicFile.IsMetadataLoaded ?  StringListConverter.ToString(y.MusicFile.Metadata.Genre) : "";
     return string.Compare(genreX, genreY, StringComparison.CurrentCulture);
 }
 private static int TitleColumnComparison(MusicFileDataModel x, MusicFileDataModel y)
 {
     var titleX = MusicTitleHelper.GetTitleText(x.MusicFile.FileName, 
             x.MusicFile.IsMetadataLoaded ? x.MusicFile.Metadata.Artists : null, x.MusicFile.IsMetadataLoaded ? x.MusicFile.Metadata.Title : null);
     var titleY = MusicTitleHelper.GetTitleText(y.MusicFile.FileName, 
             y.MusicFile.IsMetadataLoaded ? y.MusicFile.Metadata.Artists : null, y.MusicFile.IsMetadataLoaded ? y.MusicFile.Metadata.Title : null);
     return string.Compare(titleX, titleY, StringComparison.CurrentCulture);
 }