public void SimpleRenderService_SimpleFrame_Correct()
        {
            var pixels = new[] {
                new OutputPixel(0, 0, 0xFFFF00FF),
                new OutputPixel(0, 1, 0xFF00FF00),
                new OutputPixel(1, 0, 0xFF0000FF),
                new OutputPixel(0, 0, 0xFFFFFF00),
                new OutputPixel(0, 0, 0xAAFFFF00),
            };

            var frame  = new OutputFrame(0, 0, pixels);
            var sut    = new SimpleRenderService();
            var actual = Encoding.ASCII.GetString(sut.PreRender(frame));

            Assert.AreEqual("PX 0 0 FF00FF\nPX 0 1 00FF00\nPX 1 0 0000FF\nPX 0 0 FFFF00\nPX 0 0 FFFF00AA\n", actual);
        }
        public void UnsafeRenderService_TryToFuckItUpFrame_Correct()
        {
            var r = new Random();

            for (int i = 0; i < 10; i++)
            {
                var pixels = new List <OutputPixel>();
                for (int pxNum = 0; pxNum < 100000; pxNum++)
                {
                    pixels.Add(new OutputPixel(r.Next(2000), r.Next(2000), (uint)r.Next(0xFFFFFF) | 0xFF000000U));
                }

                var frame = new OutputFrame(0, 0, pixels.ToArray());

                var simpleSut = new SimpleRenderService();
                var unsafeSut = new PixelFlutLookupTableUnsafeRenderService(ServerCapabilities.None);

                var simpleFrame = Encoding.ASCII.GetString(simpleSut.PreRender(frame));
                var unsafeFrame = Encoding.ASCII.GetString(unsafeSut.PreRender(frame));

                Assert.AreEqual(simpleFrame, unsafeFrame);
            }
        }