public void Insert(Fingerprint fingerprint)
 {
     fingerprint.Id = PrepareStoredProcedure(SpInsertFingerprint)
                         .WithParametersFromModel(new FingerprintDto(fingerprint))
                         .Execute()
                         .AsScalar<int>();
 }
 public void InsertFingerprint(Fingerprint fingerprint)
 {
     fingerprintDao.Insert(fingerprint);
 }
 public FingerprintDto(Fingerprint fingerprint)
 {
     Id = fingerprint.Id;
     TrackId = fingerprint.TrackId;
     TotalFingerprintsPerTrack = fingerprint.TotalFingerprintsPerTrack;
     SongOrder = fingerprint.SongOrder;
     Signature = ArrayUtils.GetByteArrayFromBool(fingerprint.Signature);
 }
 public void ReadFingerprintsTest()
 {
     string name = MethodBase.GetCurrentMethod().Name;
     Track t = GetTrack(name);
     modelService.InsertTrack(t);
     Fingerprint f = new Fingerprint(GenericFingerprint, t.Id, 10);
     modelService.InsertFingerprint(f);
     var actual = modelService.ReadFingerprints();
     Assert.IsTrue(actual.Count >= 1);
 }
 public void ReadTrackByFingerprintTest()
 {
     string name = MethodBase.GetCurrentMethod().Name;
     Track expectedTrack = GetTrack(name);
     modelService.InsertTrack(expectedTrack);
     const int FakeId = int.MinValue;
     Fingerprint fingerprint = new Fingerprint(GenericFingerprint, expectedTrack.Id, int.MinValue);
     modelService.InsertFingerprint(fingerprint);
     Assert.AreNotEqual(FakeId, fingerprint.Id);
     var list = modelService.ReadTrackByFingerprint(fingerprint.Id);
     Track actualTrack = list.FirstOrDefault(temp => temp.Id == expectedTrack.Id);
     Assert.IsNotNull(actualTrack);
     AssertTracksAreEqual(expectedTrack, actualTrack);
 }
        public void ReadFingerprintByMultipleTrackIdTest1()
        {
            string name = MethodBase.GetCurrentMethod().Name;
            const int NumberOfTracks = 1153;
            const int NumberOfFingerprintsPerTrack = 10;

            List<Track> listTrack = new List<Track>();
            List<Fingerprint> listOfFingerprints = new List<Fingerprint>();
            for (int i = 0; i < NumberOfTracks; i++)
            {
                Track track0 = GetTrack(name);
                listTrack.Add(track0);
                modelService.InsertTrack(track0);
                for (int j = 0; j < NumberOfFingerprintsPerTrack; j++)
                {
                    Fingerprint f0 = new Fingerprint(GenericFingerprint, track0.Id, 0);
                    listOfFingerprints.Add(f0);
                }
            }

            modelService.InsertFingerprint(listOfFingerprints);

            var dict = modelService.ReadFingerprintsByMultipleTrackId(listTrack, 0);

            Assert.AreNotEqual(null, dict);
            Assert.AreEqual(NumberOfTracks, dict.Keys.Count);
            foreach (Track track in listTrack)
            {
                Assert.AreEqual(true, dict.ContainsKey(track.Id));
                Assert.AreEqual(NumberOfFingerprintsPerTrack, dict[track.Id].Count);
            }
        }
        public void ReadFingerprintByTrackIdTest()
        {
            string name = MethodBase.GetCurrentMethod().Name;
            Track track = GetTrack(name);
            modelService.InsertTrack(track);
            Fingerprint fingerprint = new Fingerprint(GenericFingerprint, track.Id, 0);
            modelService.InsertFingerprint(fingerprint);
            var list = modelService.ReadFingerprintsByTrackId(track.Id, 0);
            Fingerprint expectedFingerprint = list.FirstOrDefault(temp => temp.Id == fingerprint.Id);
            Assert.IsNotNull(expectedFingerprint);
            Assert.AreEqual(fingerprint.Id, expectedFingerprint.Id);
            Assert.AreEqual(fingerprint.Signature.Length, expectedFingerprint.Signature.Length);
            for (int i = 0; i < fingerprint.Signature.Length; i++)
            {
                Assert.AreEqual(fingerprint.Signature[i], expectedFingerprint.Signature[i]);
            }

            Assert.AreEqual(fingerprint.TrackId, expectedFingerprint.TrackId);
        }
        public void ReadFingerprintByIdTest()
        {
            string name = MethodBase.GetCurrentMethod().Name;
            const int FakeId = int.MinValue;
            Track track = GetTrack(name);
            modelService.InsertTrack(track);
            Assert.AreNotEqual(FakeId, track.Id);
            Fingerprint fingerprint = new Fingerprint(GenericFingerprint, track.Id, 0);
            modelService.InsertFingerprint(fingerprint);
            Assert.AreNotEqual(FakeId, fingerprint.Id);
            Fingerprint readFingerprintById = modelService.ReadFingerprintById(fingerprint.Id);
            Assert.AreEqual(fingerprint.Id, readFingerprintById.Id);
            Assert.AreEqual(fingerprint.Signature.Length, readFingerprintById.Signature.Length);
            for (int i = 0; i < fingerprint.Signature.Length; i++)
            {
                Assert.AreEqual(fingerprint.Signature[i], readFingerprintById.Signature[i]);
            }

            Assert.AreEqual(fingerprint.TrackId, readFingerprintById.TrackId);
        }
        public void ReadFingerprintByMultipleTrackIdTest()
        {
            string name = MethodBase.GetCurrentMethod().Name;
            Track track0 = GetTrack(name);
            modelService.InsertTrack(track0);
            Track track1 = GetTrack(name);
            modelService.InsertTrack(track1);
            Track track2 = GetTrack(name);
            modelService.InsertTrack(track2);

            Fingerprint f0 = new Fingerprint(GenericFingerprint, track0.Id, 0);
            modelService.InsertFingerprint(f0);
            Fingerprint f1 = new Fingerprint(GenericFingerprint, track0.Id, 1);
            modelService.InsertFingerprint(f1);
            Fingerprint f2 = new Fingerprint(GenericFingerprint, track1.Id, 2);
            modelService.InsertFingerprint(f2);
            Fingerprint f3 = new Fingerprint(GenericFingerprint, track1.Id, 3);
            modelService.InsertFingerprint(f3);
            Fingerprint f4 = new Fingerprint(GenericFingerprint, track2.Id, 4);
            modelService.InsertFingerprint(f4);
            Fingerprint f5 = new Fingerprint(GenericFingerprint, track2.Id, 5);
            modelService.InsertFingerprint(f5);
            Fingerprint f6 = new Fingerprint(GenericFingerprint, track0.Id, 6);
            modelService.InsertFingerprint(f6);
            Fingerprint f7 = new Fingerprint(GenericFingerprint, track1.Id, 7);
            modelService.InsertFingerprint(f7);
            Fingerprint f8 = new Fingerprint(GenericFingerprint, track2.Id, 8);
            modelService.InsertFingerprint(f8);

            var dict =
                modelService.ReadFingerprintsByMultipleTrackId(new List<Track> { track0, track1, track2 }, 0);

            Assert.AreNotEqual(null, dict);
            Assert.AreEqual(3, dict.Keys.Count);
            foreach (var item in dict)
            {
                Assert.AreEqual(3, item.Value.Count);
            }

            Assert.AreEqual(true, dict.ContainsKey(track0.Id));
            Assert.AreEqual(true, dict.ContainsKey(track1.Id));
            Assert.AreEqual(true, dict.ContainsKey(track2.Id));

            foreach (var pair in dict)
            {
                Assert.AreEqual(3, pair.Value.Count);
            }
        }
 public void InsertFingerprintWithBadTrackIdForeignKeyreference()
 {
     string name = MethodBase.GetCurrentMethod().Name;
     Track track = GetTrack(name);
     Fingerprint fingerprint = new Fingerprint(GenericFingerprint, track.Id, 0);
     modelService.InsertFingerprint(fingerprint);
 }
        public void InsertReadFingerprintTest()
        {
            string name = MethodBase.GetCurrentMethod().Name;
            Track track = GetTrack(name);
            modelService.InsertTrack(track);
            Fingerprint fingerprint = new Fingerprint(GenericFingerprint, track.Id, 0);
            modelService.InsertFingerprint(fingerprint);
            var allFingerprints = modelService.ReadFingerprints();
            List<int> fingerprintIds = allFingerprints.Select(temp => temp.Id).ToList();

            Assert.AreEqual(true, fingerprintIds.Contains(fingerprint.Id));

            List<Fingerprint> addList = new List<Fingerprint>();
            for (int i = 0; i < 10; i++)
            {
                addList.Add(new Fingerprint(GenericFingerprint, track.Id, 0));
            }

            modelService.InsertFingerprint(addList);
            allFingerprints = modelService.ReadFingerprints();
            fingerprintIds.Clear();
            fingerprintIds.AddRange(allFingerprints.Select(temp => temp.Id));

            foreach (Fingerprint finger in addList)
            {
                Assert.AreEqual(true, fingerprintIds.Contains(finger.Id));
            }
        }
 public void ReadTrackByFingerprintTest()
 {
     string name = MethodBase.GetCurrentMethod().Name;
     Album album = new Album(int.MinValue, name, 1986);
     modelService.InsertAlbum(album);
     Track track = new Track(int.MinValue, name, name, album.Id, 360);
     modelService.InsertTrack(track);
     const int FakeId = int.MinValue;
     Fingerprint f = new Fingerprint(FakeId, GenericFingerprint, track.Id, int.MinValue);
     modelService.InsertFingerprint(f);
     Assert.AreNotEqual(FakeId, f.Id);
     var list = modelService.ReadTrackByFingerprint(f.Id);
     Track readT = list.FirstOrDefault(temp => temp.Id == track.Id);
     Assert.AreNotEqual(null, readT);
     Assert.AreEqual(track.Id, readT.Id);
     Assert.AreEqual(track.AlbumId, readT.AlbumId);
     Assert.AreEqual(track.Artist, readT.Artist);
     Assert.AreEqual(track.Title, readT.Title);
     Assert.AreEqual(track.TrackLengthSec, readT.TrackLengthSec);
 }
 public void ReadFingerprintsTest()
 {
     string name = MethodBase.GetCurrentMethod().Name;
     Album album = modelService.ReadUnknownAlbum();
     Track t = new Track(0, name, name, album.Id);
     modelService.InsertTrack(t);
     Fingerprint f = new Fingerprint(0, GenericFingerprint, t.Id, 10);
     modelService.InsertFingerprint(f);
     var actual = modelService.ReadFingerprints();
     Assert.IsTrue(actual.Count >= 1);
 }
        public void ReadFingerprintByTrackIdTest()
        {
            string name = MethodBase.GetCurrentMethod().Name;

            Album album = new Album(0, name, 1986);
            modelService.InsertAlbum(album);
            Track track = new Track(0, name, name, album.Id, 360);
            modelService.InsertTrack(track);
            Fingerprint f = new Fingerprint(0, GenericFingerprint, track.Id, 0);
            modelService.InsertFingerprint(f);

            var list = modelService.ReadFingerprintsByTrackId(track.Id, 0);
            Fingerprint readF = list.FirstOrDefault(temp => temp.Id == f.Id);
            Assert.AreNotEqual(null, readF);
            Assert.AreEqual(f.Id, readF.Id);
            Assert.AreEqual(f.Signature.Length, readF.Signature.Length);
            for (int i = 0; i < f.Signature.Length; i++)
            {
                Assert.AreEqual(f.Signature[i], readF.Signature[i]);
            }

            Assert.AreEqual(f.TrackId, readF.TrackId);
        }
        public void ReadFingerprintByIdTest()
        {
            string name = MethodBase.GetCurrentMethod().Name;

            const int fakeId = int.MinValue;
            Album album = new Album(fakeId, name, 1986);
            modelService.InsertAlbum(album);
            Assert.AreNotEqual(fakeId, album);
            Track track = new Track(fakeId, name, name, album.Id, 360);
            modelService.InsertTrack(track);
            Assert.AreNotEqual(fakeId, track.Id);
            Fingerprint f = new Fingerprint(fakeId, GenericFingerprint, track.Id, 0);
            modelService.InsertFingerprint(f);
            Assert.AreNotEqual(fakeId, f.Id);
            Fingerprint readF = modelService.ReadFingerprintById(f.Id);
            Assert.AreEqual(f.Id, readF.Id);
            Assert.AreEqual(f.Signature.Length, readF.Signature.Length);
            for (int i = 0; i < f.Signature.Length; i++)
            {
                Assert.AreEqual(f.Signature[i], readF.Signature[i]);
            }

            Assert.AreEqual(f.TrackId, readF.TrackId);
        }
 public void InsertFingerprintWithBadTrackIdForeignKeyreference()
 {
     string name = MethodBase.GetCurrentMethod().Name;
     Album a = new Album(0, name, 1990);
     Track track = new Track(0, name, name, a.Id);
     Fingerprint f = new Fingerprint(0, GenericFingerprint, track.Id, 0);
     modelService.InsertFingerprint(f);
 }