public void FromFileTest() { ReportStart(); foreach (string file in _paletteFiles) { _actual = Palette.FromFile(file); _expected = new Palette(); byte[] bytes = File.ReadAllBytes(file); for (int i = 0; i < bytes.Length; i += 3) { Color c = Color.FromArgb(bytes[i], bytes[i + 1], bytes[i + 2]); _expected.Add(c); } Assert.AreEqual(_expected.Count, _actual.Count, file); for (int i = 0; i < _expected.Count; i++) { ColourAssert.AreEqual(_expected[i], _actual[i], file + " Colour number " + i); } } ReportEnd(); }
public void AddTest() { ReportStart(); _actual = new Palette(); // Add a first colour and check it's the only one in the palette _actual.Add(Color.AliceBlue); Assert.AreEqual(1, _actual.Count); ColourAssert.AreEqual(Color.AliceBlue, _actual[0]); // Add a second colour and check both are in the palette _actual.Add(Color.AntiqueWhite); Assert.AreEqual(2, _actual.Count); ColourAssert.AreEqual(Color.AliceBlue, _actual[0]); ColourAssert.AreEqual(Color.AntiqueWhite, _actual[1]); // Add a colour that's already in the palette, and check nothing has changed _actual.Add(Color.AliceBlue); Assert.AreEqual(2, _actual.Count); ColourAssert.AreEqual(Color.AliceBlue, _actual[0]); ColourAssert.AreEqual(Color.AntiqueWhite, _actual[1]); // Add a third colour and check that all 3 are in the palete _actual.Add(Color.Aqua); Assert.AreEqual(3, _actual.Count); ColourAssert.AreEqual(Color.AliceBlue, _actual[0]); ColourAssert.AreEqual(Color.AntiqueWhite, _actual[1]); ColourAssert.AreEqual(Color.Aqua, _actual[2]); ReportEnd(); }
public void GetColoursTest() { ReportStart(); _bitmap = RandomBitmap.Create(new Size(100, 100), 20, PixelFormat.Format32bppArgb); Collection <Color> expectedColours = new Collection <Color>(); for (int y = 0; y < _bitmap.Height; y++) { for (int x = 0; x < _bitmap.Width; x++) { expectedColours.Add(_bitmap.GetPixel(x, y)); } } Color[] actualColours = ImageTools.GetColours(_bitmap); Assert.AreEqual(expectedColours.Count, actualColours.Length); for (int i = 0; i < expectedColours.Count; i++) { ColourAssert.AreEqual(expectedColours[i], actualColours[i], "Index " + i); } ReportEnd(); }
public void ValueTest() { ReportStart(); Palette expected = _palette; Palette actual = _pc.Value; Assert.AreEqual(expected.Count, actual.Count); for (int i = 0; i < expected.Count; i++) { ColourAssert.AreEqual(expected[i], actual[i], "Colour " + i); } ReportEnd(); }
public void ConvertToInstanceDescriptor() { // Call the ConvertTo method to convert the Palette instance to an // ImageDescriptor InstanceDescriptor actual = (InstanceDescriptor)_converter.ConvertTo(_palette, typeof(InstanceDescriptor)); // This returns an InstanceDescriptor instance with an Arguments // property, which is an ICollection, the first element of which // should be the original Palette instance object[] actualArguments = (object[])actual.Arguments; Palette actualPalette = (Palette)actualArguments[0]; // Compare the returned Palette instance with the original one Assert.AreEqual(_palette.Count, actualPalette.Count); for (int i = 0; i < _palette.Count; i++) { ColourAssert.AreEqual(_palette[i], actualPalette[i], "Colour " + i); } }
public void FromStreamTooLongTest() { ReportStart(); MemoryStream s = new MemoryStream(); for (int i = 0; i < 769; i++) { int b; Math.DivRem(i, 256, out b); s.WriteByte((byte)b); } s.Seek(0, SeekOrigin.Begin); _actual = Palette.FromStream(s); Assert.AreEqual(256, _actual.Count); s.Seek(0, SeekOrigin.Begin); for (int i = 0; i < 256; i++) { Color c = Color.FromArgb(s.ReadByte(), s.ReadByte(), s.ReadByte()); ColourAssert.AreEqual(c, _actual[i], "Colour index " + i); } ReportEnd(); }