Пример #1
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var pixelSecurer = new PixelSecurer();

            int brokenModifier = 7;

            if (brokenModifier < -(pixelSecurer.ParityFactor / 2) || brokenModifier >= (pixelSecurer.ParityFactor / 2))
            {
                throw new Exception("This is not supported by this algorithm");
            }

            for (int i = 0; i < 256; i++)
            {
                var inputColor     = Color.FromArgb(i, i, i);
                var withIdentifier = pixelSecurer.ToSecuredPixel(inputColor);

                withIdentifier.ValuePixel      = Color.FromArgb(withIdentifier.ValuePixel.R + brokenModifier, withIdentifier.ValuePixel.G + brokenModifier, withIdentifier.ValuePixel.B + brokenModifier);
                withIdentifier.IdentifierPixel = Color.FromArgb(withIdentifier.IdentifierPixel.R + brokenModifier, withIdentifier.IdentifierPixel.G + brokenModifier, withIdentifier.IdentifierPixel.B + brokenModifier);

                var outputColor = pixelSecurer.FromSecuredPixel(withIdentifier);

                var theSame = inputColor == outputColor;

                Console.WriteLine($"{ToColorString(inputColor)} - {ToColorString(outputColor)}      {ToColorString(withIdentifier.IdentifierPixel)} {ToColorString(withIdentifier.ValuePixel)} {(theSame ? "" : "  << WRONG")}");
            }
        }
Пример #2
0
        public void SecuresUnmodifiedPixels()
        {
            //Arrange
            var pixelSecurer = new PixelSecurer();

            int brokenModifier = 0;

            //Act / Assert
            for (int i = 0; i < 256; i++)
            {
                var inputColor     = Color.FromArgb(i, i, i);
                var withIdentifier = pixelSecurer.ToSecuredPixel(inputColor);

                withIdentifier.ValuePixel      = Color.FromArgb(withIdentifier.ValuePixel.R + brokenModifier, withIdentifier.ValuePixel.G + brokenModifier, withIdentifier.ValuePixel.B + brokenModifier);
                withIdentifier.IdentifierPixel = Color.FromArgb(withIdentifier.IdentifierPixel.R + brokenModifier, withIdentifier.IdentifierPixel.G + brokenModifier, withIdentifier.IdentifierPixel.B + brokenModifier);

                var outputColor = pixelSecurer.FromSecuredPixel(withIdentifier);

                var theSame = inputColor == outputColor;

                Assert.True(theSame);
            }
        }