TestImageCodecInfo.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. //
  2. // ImageCodecInfo class testing unit
  3. //
  4. // Author:
  5. //
  6. // Jordi Mas i Hernàndez ([email protected])
  7. //
  8. // (C) 2004 Ximian, Inc. http://www.ximian.com
  9. //
  10. using System;
  11. using System.Drawing;
  12. using System.Drawing.Imaging;
  13. using NUnit.Framework;
  14. using System.IO;
  15. namespace MonoTests.System.Drawing
  16. {
  17. [TestFixture]
  18. public class TestImageCodecInfo : Assertion
  19. {
  20. [TearDown]
  21. public void Clean() {}
  22. [SetUp]
  23. public void GetReady()
  24. {
  25. }
  26. internal void isPresent (ImageCodecInfo[] codecs, string clsid, string formatID)
  27. {
  28. for (int i = 0; i < codecs.Length; i++) {
  29. if (codecs[i].FormatID.ToString() == formatID) {
  30. AssertEquals (codecs[i].Clsid.ToString(), clsid);
  31. return;
  32. }
  33. }
  34. Assert (false);
  35. }
  36. /*
  37. This test makes sure that we deliver at least the BMP, GIF, JPEG
  38. and PNG encoders
  39. */
  40. [Test]
  41. public void Encoders()
  42. {
  43. ImageCodecInfo[] decoders = ImageCodecInfo.GetImageDecoders();
  44. ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders();
  45. /* BMP */
  46. isPresent (encoders, "557cf400-1a04-11d3-9a73-0000f81ef32e",
  47. "b96b3cab-0728-11d3-9d7b-0000f81ef32e");
  48. /* GIF */
  49. isPresent (encoders, "557cf402-1a04-11d3-9a73-0000f81ef32e",
  50. "b96b3cb0-0728-11d3-9d7b-0000f81ef32e");
  51. /* JPEG */
  52. isPresent (encoders, "557cf401-1a04-11d3-9a73-0000f81ef32e",
  53. "b96b3cae-0728-11d3-9d7b-0000f81ef32e");
  54. /* PNG */
  55. isPresent (encoders, "557cf406-1a04-11d3-9a73-0000f81ef32e",
  56. "b96b3caf-0728-11d3-9d7b-0000f81ef32e");
  57. }
  58. /*
  59. This test makes sure that we deliver at least the BMP, GIF, JPEG
  60. and PNG decoders
  61. */
  62. [Test]
  63. public void Decoders()
  64. {
  65. ImageCodecInfo[] decoders = ImageCodecInfo.GetImageDecoders();
  66. /* BMP */
  67. isPresent (decoders, "557cf400-1a04-11d3-9a73-0000f81ef32e",
  68. "b96b3cab-0728-11d3-9d7b-0000f81ef32e");
  69. /* GIF */
  70. isPresent (decoders, "557cf402-1a04-11d3-9a73-0000f81ef32e",
  71. "b96b3cb0-0728-11d3-9d7b-0000f81ef32e");
  72. /* JPEG */
  73. isPresent (decoders, "557cf401-1a04-11d3-9a73-0000f81ef32e",
  74. "b96b3cae-0728-11d3-9d7b-0000f81ef32e");
  75. /* PNG */
  76. isPresent (decoders, "557cf406-1a04-11d3-9a73-0000f81ef32e",
  77. "b96b3caf-0728-11d3-9d7b-0000f81ef32e");
  78. }
  79. }
  80. }