public void CreateOrUpdateMusicTrackTest()
        {
            DataLayerBase target = DataLayerFactory.Instance.GetDataLayer(DataLayerType.SqlServer);

            string hostName = "Frostmourne";

            target.CreateHost(hostName);

            string filePath = @"c:\Music\chamame.mp3";
            string album    = "Chamame";
            string artist   = "Tarrago Ross";
            string title    = "Curuzu Cuatia";
            int    year     = 1966;
            string genre    = "Folklore";

            target.CreateOrUpdateMusicTrack(hostName, filePath, album, artist, title, year, genre);

            filePath = @"c:\Music\coco.mp3";
            album    = "Greatest Hits";
            artist   = "Roxette";
            title    = "Dangerous";
            year     = 2004;
            genre    = "Rock";
            target.CreateOrUpdateMusicTrack(hostName, filePath, album, artist, title, year, genre);

            filePath = @"c:\Music\Arjona\pinguinos en la cama.mp3";
            album    = "Arjona";
            artist   = "Ricardo Arjona";
            title    = "Pinguinos en la cama";
            year     = 2005;
            genre    = "Melódico";
            target.CreateOrUpdateMusicTrack(hostName, filePath, album, artist, title, year, genre);

            DataTable dt = target.Search(album, artist, title, year, genre);

            Assert.AreEqual(1, dt.Rows.Count, "Music Track creation fail.");
            if (dt.Rows.Count > 0)
            {
                Guid    musicTrackId = new Guid(dt.Rows[0][DBConstants.MusicTrackId].ToString());
                DataRow dr           = target.GetMusicTrack(musicTrackId);
                if (dr != null)
                {
                    Assert.AreEqual(artist, dr[DBConstants.Artist].ToString(), "GetMusicTrack fail.");
                }
            }
        }
        public void SearchTest()
        {
            DataLayerBase target = DataLayerFactory.Instance.GetDataLayer(DataLayerType.SqlServer);
            DataTable     actual;

            //all fields
            string album  = "Greatest Hits";
            string artist = "Roxette";
            string title  = "Dangerous";
            int    year   = 2004;
            string genre  = "Rock";

            actual = target.Search(album, artist, title, year, genre);
            if (actual != null)
            {
                Assert.AreEqual(1, actual.Rows.Count, "Search all field failed.");
                Assert.AreEqual(@"c:\Music\coco.mp3", actual.Rows[0][DBConstants.Path].ToString(), "Search result path mismatch.");
            }
            else
            {
                Assert.IsTrue(true, "DataTable from search is null.");
            }
        }