예제 #1
0
        static void Main(string[] args)
        {
            var syncData          = new SyncData();
            var configXmlProvider = new ConfigXmlProvider(syncData);
            var webHelper         = new WebHelperService();
            var configSettings    = new ConfigSettings(configXmlProvider);
            var logger            = new ErrorLoggingService(webHelper, configSettings);

            try
            {
                var trackXmlParser   = new TrackXmlParser();
                var trackXmlProvider = new TrackXmlProvider(syncData);
                var trackRepository  = new TrackRepository(trackXmlParser, trackXmlProvider);
                var cloudService     = new AzureService(syncData);
                var taggingService   = new TagLibService();

                var service = new Service(trackRepository, cloudService, logger, syncData, taggingService);

                service.Run();
            }
            catch (Exception ex)
            {
                logger.Log(ex);
            }
        }
예제 #2
0
        public void GetTrack_ReturnsCorrectXmlElement()
        {
            // Arrange
            var sut    = new TrackXmlParser();
            var xml    = GetTrackElement();
            var disc   = new Disc();
            var artist = new Artist();

            // Act
            var result = sut.GetTrack(xml, disc, artist);

            // Assert
            Assert.AreEqual(TrackRelativeFilePath, result.File.RelativePath);
            Assert.AreEqual(TrackFullFilePath, result.File.FullPath);
            Assert.AreEqual(_trackDateModified, result.File.DateModified);
            Assert.AreEqual(TrackTitle, result.Title);
            Assert.AreEqual(TrackNo, result.TrackNo);
            Assert.AreEqual(_trackDuration, result.Duration);
            Assert.AreEqual(TrackYear, result.Year);
            Assert.AreEqual(0, result.Tags.Count);
            Assert.AreEqual(TrackLyrics, result.Lyrics);
        }