示例#1
0
        public void CalibratedRGB()
        {
            var whitepoint = new nfloat [] { 1, 2, 3 };
            var blackpoint = new nfloat [] { 3, 2, 1 };
            var gamma      = new nfloat [] { 1, 2, 3 };
            var matrix     = new nfloat [] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

            Assert.Throws <ArgumentNullException> (() => CGColorSpace.CreateCalibratedRGB(null, blackpoint, gamma, matrix), "null whitepoint");
            Assert.Throws <ArgumentException> (() => CGColorSpace.CreateCalibratedRGB(new nfloat [0], blackpoint, gamma, matrix), "invalid whitepoint0");
            Assert.Throws <ArgumentException> (() => CGColorSpace.CreateCalibratedRGB(new nfloat [4], blackpoint, gamma, matrix), "invalid whitepoint4");

            Assert.Throws <ArgumentException> (() => CGColorSpace.CreateCalibratedRGB(whitepoint, new nfloat [0], gamma, matrix), "invalid blackpoint0");
            Assert.Throws <ArgumentException> (() => CGColorSpace.CreateCalibratedRGB(whitepoint, new nfloat [4], gamma, matrix), "invalid blackpoint4");

            Assert.Throws <ArgumentException> (() => CGColorSpace.CreateCalibratedRGB(whitepoint, blackpoint, new nfloat [0], matrix), "invalid gamma0");
            Assert.Throws <ArgumentException> (() => CGColorSpace.CreateCalibratedRGB(whitepoint, blackpoint, new nfloat [4], matrix), "invalid gamma4");

            Assert.Throws <ArgumentException> (() => CGColorSpace.CreateCalibratedRGB(whitepoint, blackpoint, gamma, new nfloat [0]), "invalid matrix0");
            Assert.Throws <ArgumentException> (() => CGColorSpace.CreateCalibratedRGB(whitepoint, blackpoint, gamma, new nfloat [4]), "invalid matrix4");

            using (var space = CGColorSpace.CreateCalibratedRGB(whitepoint, blackpoint, gamma, matrix)) {
                Assert.IsNotNull(space, "all non-null");
            }

            using (var space = CGColorSpace.CreateCalibratedRGB(whitepoint, null, gamma, matrix)) {
                Assert.IsNotNull(space, "null blackpoint");
            }

            using (var space = CGColorSpace.CreateCalibratedRGB(whitepoint, blackpoint, null, matrix)) {
                Assert.IsNotNull(space, "null gamma");
            }

            using (var space = CGColorSpace.CreateCalibratedRGB(whitepoint, blackpoint, gamma, null)) {
                Assert.IsNotNull(space, "all matrix-null");
            }

            using (var space = CGColorSpace.CreateCalibratedRGB(whitepoint, null, null, null)) {
                Assert.IsNotNull(space, "all null");
            }
        }