2 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
4 // Permission is hereby granted, free of charge, to any person obtaining
5 // a copy of this software and associated documentation files (the
6 // "Software"), to deal in the Software without restriction, including
7 // without limitation the rights to use, copy, modify, merge, publish,
8 // distribute, sublicense, and/or sell copies of the Software, and to
9 // permit persons to whom the Software is furnished to do so, subject to
10 // the following conditions:
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 // Jordi Mas i Hernandez (jordi@ximian.com)
30 using System.Drawing.Imaging;
31 using NUnit.Framework;
33 using System.Security.Cryptography;
34 using System.Security.Permissions;
37 namespace MonoTests.System.Drawing
41 [SecurityPermission (SecurityAction.Deny, UnmanagedCode = true)]
42 public class TestColorMatrix
46 public void Clean() {}
49 public void GetReady()
56 public void DefaultConstructor ()
58 ColorMatrix cm = new ColorMatrix ();
60 Assert.AreEqual (cm.Matrix00, 1);
61 Assert.AreEqual (cm.Matrix11, 1);
62 Assert.AreEqual (cm.Matrix22, 1);
63 Assert.AreEqual (cm.Matrix33, 1);
64 Assert.AreEqual (cm.Matrix44, 1);
65 Assert.AreEqual (cm.Matrix01, 0);
66 Assert.AreEqual (cm.Matrix02, 0);
67 Assert.AreEqual (cm.Matrix03, 0);
68 Assert.AreEqual (cm.Matrix04, 0);
69 Assert.AreEqual (cm.Matrix10, 0);
70 Assert.AreEqual (cm.Matrix12, 0);
71 Assert.AreEqual (cm.Matrix13, 0);
72 Assert.AreEqual (cm.Matrix14, 0);
73 Assert.AreEqual (cm.Matrix20, 0);
74 Assert.AreEqual (cm.Matrix21, 0);
75 Assert.AreEqual (cm.Matrix23, 0);
76 Assert.AreEqual (cm.Matrix24, 0);
77 Assert.AreEqual (cm.Matrix30, 0);
78 Assert.AreEqual (cm.Matrix31, 0);
79 Assert.AreEqual (cm.Matrix32, 0);
80 Assert.AreEqual (cm.Matrix34, 0);
81 Assert.AreEqual (cm.Matrix40, 0);
82 Assert.AreEqual (cm.Matrix41, 0);
83 Assert.AreEqual (cm.Matrix42, 0);
84 Assert.AreEqual (cm.Matrix43, 0);
89 public void ConstructorArrayAndMethods ()
91 ColorMatrix cm = new ColorMatrix (new float[][] {
92 new float[] {0.393f, 0.349f, 0.272f, 0, 0},
93 new float[] {0.769f, 0.686f, 0.534f, 0, 0},
94 new float[] {0.189f, 0.168f, 0.131f, 0, 0},
95 new float[] { 0, 0, 0, 1, 0},
96 new float[] { 0, 0, 0, 0, 1}
99 Assert.AreEqual (cm.Matrix00, 0.393f);
100 Assert.AreEqual (cm.Matrix01, 0.349f);
101 Assert.AreEqual (cm.Matrix02, 0.272f);
102 Assert.AreEqual (cm.Matrix03, 0);
103 Assert.AreEqual (cm.Matrix04, 0);
105 Assert.AreEqual (cm.Matrix10, 0.769f);
106 Assert.AreEqual (cm.Matrix11, 0.686f);
107 Assert.AreEqual (cm.Matrix12, 0.534f);
108 Assert.AreEqual (cm.Matrix13, 0);
109 Assert.AreEqual (cm.Matrix14, 0);
111 Assert.AreEqual (cm.Matrix20, 0.189f);
112 Assert.AreEqual (cm.Matrix21, 0.168f);
113 Assert.AreEqual (cm.Matrix22, 0.131f);
114 Assert.AreEqual (cm.Matrix23, 0);
115 Assert.AreEqual (cm.Matrix24, 0);
117 Assert.AreEqual (cm.Matrix30, 0);
118 Assert.AreEqual (cm.Matrix31, 0);
119 Assert.AreEqual (cm.Matrix32, 0);
120 Assert.AreEqual (cm.Matrix33, 1);
121 Assert.AreEqual (cm.Matrix34, 0);
123 Assert.AreEqual (cm.Matrix40, 0);
124 Assert.AreEqual (cm.Matrix41, 0);
125 Assert.AreEqual (cm.Matrix42, 0);
126 Assert.AreEqual (cm.Matrix43, 0);
127 Assert.AreEqual (cm.Matrix44, 1);
131 public void Property ()
133 ColorMatrix cm = new ColorMatrix (new float[][] {
134 new float[] {1, 0, 0, 0, 0},
135 new float[] {0.5f, 1, 0, 0, 0},
136 new float[] {0, 0.1f, 1.5f, 0, 0},
137 new float[] {0.5f, 3, 0.5f, 1, 0},
138 new float[] {0, 0, 0, 0, 0}
141 Assert.AreEqual (cm[0,0], 1);
142 Assert.AreEqual (cm[0,1], 0);
143 Assert.AreEqual (cm[0,2], 0);
144 Assert.AreEqual (cm[0,3], 0);
145 Assert.AreEqual (cm[0,4], 0);
147 Assert.AreEqual (cm[1,0], 0.5f);
148 Assert.AreEqual (cm[1,1], 1);
149 Assert.AreEqual (cm[1,2], 0);
150 Assert.AreEqual (cm[1,3], 0);
151 Assert.AreEqual (cm[1,4], 0);
153 Assert.AreEqual (cm[2,0], 0);
154 Assert.AreEqual (cm[2,1], 0.1f);
155 Assert.AreEqual (cm[2,2], 1.5f);
156 Assert.AreEqual (cm[2,3], 0);
157 Assert.AreEqual (cm[2,4], 0);
159 Assert.AreEqual (cm[3,0], 0.5f);
160 Assert.AreEqual (cm[3,1], 3);
161 Assert.AreEqual (cm[3,2], 0.5f);
162 Assert.AreEqual (cm[3,3], 1);
163 Assert.AreEqual (cm[3,4], 0);
165 Assert.AreEqual (cm[4,0], 0);
166 Assert.AreEqual (cm[4,1], 0);
167 Assert.AreEqual (cm[4,2], 0);
168 Assert.AreEqual (cm[4,3], 0);
169 Assert.AreEqual (cm[4,4], 0);