public void CompleteInformations_Should_Read_Infos_WithoutExifs()
        {
            // Arrange
            var pictureDetails = new Picture();
            var data           = Files.GetImageNoExif();

            // Act
            PictureInfo.CompleteInformations(pictureDetails, data);

            // Assert
            Assert.Equal(50, pictureDetails.Width);
            Assert.Equal(40, pictureDetails.Height);
            Assert.NotEqual(default, pictureDetails.Taken);
        public void CompleteInformations_Should_Read_Infos()
        {
            // Arrange
            var pictureDetails = new Picture();
            var data           = Files.GetSimpleImage();

            // Act
            PictureInfo.CompleteInformations(pictureDetails, data);

            // Assert
            Assert.Equal(50, pictureDetails.Width);
            Assert.Equal(40, pictureDetails.Height);
            Assert.Equal(new DateTime(2021, 8, 6, 6, 16, 5), pictureDetails.Taken);
        }
Exemple #3
0
        public void Resize_Should_Resize()
        {
            // Arrange
            var file = Files.GetSimpleImage();

            // Act
            var resizedData = PictureProcessing.Resize(file, 10, 11);
            var picture     = new Picture();

            PictureInfo.CompleteInformations(picture, resizedData);

            // Assert
            Assert.Equal(10, picture.Width);
            Assert.Equal(11, picture.Height);
        }
Exemple #4
0
        /// <inheritdoc />
        public Guid SavePicture(Guid uploaderId, string fileName, byte[] data)
        {
            fileName.ThrowIfNull(nameof(fileName));
            data.ThrowIfNull(nameof(data));

            var picture = new Picture();

            picture.Id         = SecurityHelper.CreateCryptographicallySecureGuid();
            picture.FileName   = fileName;
            picture.UploaderId = uploaderId;

            PictureInfo.CompleteInformations(picture, data);

            this.picShareContext.Pictures.Add(picture);
            this.picShareContext.SaveChanges();

            this.SaveMetaData(picture, data);

            this.storageProvider.Store(picture.Id.ToString(), data);

            return(picture.Id);
        }