public void TestSpectralImagesAreInsertedInDataSource() { TrackData track = new TrackData("artist", "title", "album", 1986, 200); var trackReference = TrackDao.InsertTrack(track); var audioSamples = audioService.ReadMonoSamplesFromFile( PathToMp3, FingerprintConfiguration.Default.SampleRate); var spectralImages = spectrumService.CreateLogSpectrogram(audioSamples, SpectrogramConfig.Default); var concatenatedSpectralImages = new List <float[]>(); foreach (var spectralImage in spectralImages) { var concatenatedSpectralImage = ArrayUtils.ConcatenateDoubleDimensionalArray(spectralImage.Image); concatenatedSpectralImages.Add(concatenatedSpectralImage); } SpectralImageDao.InsertSpectralImages(concatenatedSpectralImages, trackReference); var readSpectralImages = SpectralImageDao.GetSpectralImagesByTrackId(trackReference); Assert.AreEqual(concatenatedSpectralImages.Count, readSpectralImages.Count); foreach (var readSpectralImage in readSpectralImages) { var expectedSpectralImage = concatenatedSpectralImages[readSpectralImage.OrderNumber]; for (int i = 0; i < expectedSpectralImage.Length; i++) { Assert.AreEqual( concatenatedSpectralImages[readSpectralImage.OrderNumber][i], expectedSpectralImage[i]); } } }
public void ShouldInsertSpectralImages() { var images = new List <float[]> { new float[0], new float[0], new float[0] }; var trackReference = new ModelReference <int>(10); spectralImageDao.InsertSpectralImages(images, trackReference); Assert.AreEqual(3, spectralImageDao.GetSpectralImagesByTrackReference(trackReference).Count()); var ids = spectralImageDao.GetSpectralImagesByTrackReference(trackReference) .Select(dto => (ulong)dto.SpectralImageReference.Id) .ToList(); CollectionAssert.AreEqual(Enumerable.Range(1, 3), ids); }
public void ShouldInsertSpectralImages() { var trackReference = new ModelReference <int>(10); var images = new List <float[]> { new float[0], new float[0], new float[0] } .Select((array, index) => new SpectralImageData(array, index, new ModelReference <uint>((uint)index + 1), trackReference)); spectralImageDao.InsertSpectralImages(images); Assert.AreEqual(3, spectralImageDao.GetSpectralImagesByTrackReference(trackReference).Count()); var ids = spectralImageDao.GetSpectralImagesByTrackReference(trackReference) .Select(dto => dto.SpectralImageReference.Get <uint>()) .ToList(); CollectionAssert.AreEqual(Enumerable.Range(1, 3), ids); }