public void InsertTrackTest() { var track = GetTrack(); var trackReference = trackDao.InsertTrack(track); AssertModelReferenceIsInitialized(trackReference); AssertModelReferenceIsInitialized(track.TrackReference); }
public void TrackInsertTest() { var track = this.GetRandomTrack(); var trackReference = trackDao.InsertTrack(track); AssertModelReferenceIsInitialized(trackReference); AssertModelReferenceIsInitialized(track.TrackReference); }
private TrackData InsertTrackAndHashes(TrackInfo track, Hashes hashedFingerprints, UIntModelReferenceTracker?modelReferenceTracker = null) { modelReferenceTracker ??= new UIntModelReferenceTracker(); var(trackData, subFingerprints) = modelReferenceTracker.AssignModelReferences(track, hashedFingerprints); trackDao.InsertTrack(trackData); subFingerprintDao.InsertSubFingerprints(subFingerprints); return(trackData); }
public void ShouldInsertAndReadSubFingerprints() { var track = new TrackData("isrc", "artist", "title", "album", 1986, 200); var trackReference = trackDao.InsertTrack(track); const int NumberOfHashBins = 100; var hashedFingerprints = Enumerable.Range(0, NumberOfHashBins).Select(i => new HashedFingerprint(GenericSignature, GenericHashBuckets, i, i * 0.928, Enumerable.Empty <string>())); InsertHashedFingerprintsForTrack(hashedFingerprints, trackReference); var hashedFingerprintss = subFingerprintDao.ReadHashedFingerprintsByTrackReference(track.TrackReference); Assert.AreEqual(NumberOfHashBins, hashedFingerprintss.Count); foreach (var hashedFingerprint in hashedFingerprintss) { CollectionAssert.AreEqual(GenericHashBuckets, hashedFingerprint.HashBins); CollectionAssert.AreEqual(GenericSignature, hashedFingerprint.SubFingerprint); } }
public void ShouldInsertAndReadSubFingerprints() { var track = new TrackInfo("isrc", "title", "artist"); var trackData = trackDao.InsertTrack(track, 200); const int numberOfHashBins = 100; var genericHashBuckets = GenericHashBuckets(); var hashedFingerprints = Enumerable.Range(0, numberOfHashBins) .Select( sequenceNumber => new HashedFingerprint( genericHashBuckets, (uint)sequenceNumber, sequenceNumber * 0.928f, Array.Empty <byte>())); InsertHashedFingerprintsForTrack(hashedFingerprints, trackData.TrackReference); var fingerprints = subFingerprintDao.ReadHashedFingerprintsByTrackReference(trackData.TrackReference) .Select(ToHashedFingerprint()).ToList(); numberOfHashBins.Should().Be(fingerprints.Count); foreach (var hashedFingerprint in fingerprints) { genericHashBuckets.Should().BeEquivalentTo(hashedFingerprint.HashBins); } }
public void ShouldInsertAndReadSubFingerprints() { var track = new TrackInfo("id", "title", "artist"); const int numberOfHashBins = 100; var trackReference = trackDao.InsertTrack(track, 200).TrackReference; var genericHashBuckets = GenericHashBuckets(); var hashedFingerprints = Enumerable .Range(0, numberOfHashBins) .Select(sequenceNumber => new HashedFingerprint( genericHashBuckets, (uint)sequenceNumber, sequenceNumber * 0.928f)); InsertHashedFingerprintsForTrack(hashedFingerprints, trackReference); var fingerprints = subFingerprintDao.ReadHashedFingerprintsByTrackReference(trackReference) .Select(ToHashedFingerprint()) .ToList(); Assert.AreEqual(numberOfHashBins, fingerprints.Count); foreach (var hashedFingerprint in fingerprints) { CollectionAssert.AreEqual(genericHashBuckets, hashedFingerprint.HashBins); } }
public void InsertAndReadHashBinTest() { TrackData track = new TrackData("isrc", "artist", "title", "album", 1986, 200); var trackReference = trackDao.InsertTrack(track); const int NumberOfHashBins = 100; var hashedFingerprints = Enumerable.Range(0, NumberOfHashBins).Select(i => new HashedFingerprint(GenericSignature, GenericHashBuckets, i, i * 0.928)); InsertHashedFingerprintsForTrack(hashedFingerprints, trackReference); var hashedFingerprintss = hashBinDao.ReadHashedFingerprintsByTrackReference(track.TrackReference); Assert.AreEqual(NumberOfHashBins, hashedFingerprintss.Count); }
public virtual IModelReference InsertTrack(TrackData track) { return(trackDao.InsertTrack(track)); }