Exemple #1
0
        public void ShouldCorrectlyReturnHashCode()
        {
            // Given
            var imageModel = new ImageModel(2, 2, ImageBitDepth.Bpp12);
            var random     = new Random();
            var pixels     = Enumerable.Range(0, 2 * 2).Select(i => (Pixel)random.Next(ushort.MinValue, ushort.MaxValue)).ToArray();

            var image            = new Image(pixels, imageModel);
            var expectedHashCode = (image.ImagePixels.GetHashCode() * 397) ^ imageModel.GetHashCode();


            // When
            var actualHashCode = image.GetHashCode();

            // Then
            Assert.AreEqual(expectedHashCode, actualHashCode);
        }
Exemple #2
0
        public void ShouldCorrectlyGenerateHashCode()
        {
            // Given
            const int           width         = 256;
            const int           height        = 512;
            const ImageBitDepth imageBitDepth = ImageBitDepth.Bpp12;
            var imageModel = new ImageModel(width, height, imageBitDepth);

            int expected;

            unchecked
            {
                expected = width;
                expected = (expected * 397) ^ height;
                expected = (expected * 397) ^ (int)imageBitDepth;
            }

            // When
            var actual = imageModel.GetHashCode();

            // Then
            Assert.AreEqual(expected, actual);
        }
Exemple #3
0
 public DeleteImageModelOperation(ImageModel model) :
     base(model)
 {
     Identifier = model.GetHashCode();
 }