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"); } }