コード例 #1
0
        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]);
                }
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }