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); }
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); }
public DeleteImageModelOperation(ImageModel model) : base(model) { Identifier = model.GetHashCode(); }