コード例 #1
0
		static void Check (ImageCodecInfo e, ImageCodecInfo d, Guid FormatID, string CodecName, string DllName,
			string FilenameExtension, ImageCodecFlags Flags, string FormatDescription,
			string MimeType, int Version, int signatureLength, string mask, string pattern, string pattern2)
		{
			Regex extRegex = new Regex (@"^(\*\.\w+(;(\*\.\w+))*;)?"+
				Regex.Escape (FilenameExtension)+@"(;\*\.\w+(;(\*\.\w+))*)?$",
				RegexOptions.IgnoreCase | RegexOptions.Singleline);

			if (e != null) {
				Assert.AreEqual (FormatID, e.FormatID, "Encoder.FormatID");
				Assert.IsTrue (e.CodecName.IndexOf (CodecName)>=0,
					"Encoder.CodecName contains "+CodecName);
				Assert.AreEqual (DllName, e.DllName, "Encoder.DllName");
				Assert.IsTrue (extRegex.IsMatch (e.FilenameExtension),
					"Encoder.FilenameExtension is a right list with "+FilenameExtension);
				Assert.AreEqual (Flags, e.Flags, "Encoder.Flags");
				Assert.IsTrue (e.FormatDescription.IndexOf (FormatDescription)>=0,
					"Encoder.FormatDescription contains "+FormatDescription);
				Assert.IsTrue (e.MimeType.IndexOf (MimeType)>=0,
					"Encoder.MimeType contains "+MimeType);

				Assert.AreEqual (signatureLength, e.SignatureMasks.Length, "Encoder.SignatureMasks.Length");
				for (int i = 0; i < signatureLength; i++) {
					Assert.AreEqual (mask, BitConverter.ToString (e.SignatureMasks[i]), String.Format ("Encoder.SignatureMasks[{0}]", i));
				}
				Assert.AreEqual (signatureLength, e.SignaturePatterns.Length, "Encoder.SignaturePatterns.Length");
				Assert.AreEqual (pattern, BitConverter.ToString (e.SignaturePatterns[0]), "Encoder.SignaturePatterns[0]");
				if (pattern2 != null)
					Assert.AreEqual (pattern2, BitConverter.ToString (e.SignaturePatterns[1]), "Encoder.SignaturePatterns[1]");
			}
			if (d != null) {
				Assert.AreEqual (FormatID, d.FormatID, "Decoder.FormatID");
				Assert.IsTrue (d.CodecName.IndexOf (CodecName)>=0,
					"Decoder.CodecName contains "+CodecName);
				Assert.AreEqual (DllName, d.DllName, "Decoder.DllName");
				Assert.IsTrue (extRegex.IsMatch (d.FilenameExtension),
					"Decoder.FilenameExtension is a right list with "+FilenameExtension);
				Assert.AreEqual (Flags, d.Flags, "Decoder.Flags");
				Assert.IsTrue (d.FormatDescription.IndexOf (FormatDescription)>=0,
					"Decoder.FormatDescription contains "+FormatDescription);
				Assert.IsTrue (d.MimeType.IndexOf (MimeType)>=0,
					"Decoder.MimeType contains "+MimeType);

				Assert.AreEqual (signatureLength, d.SignatureMasks.Length, "Decoder.SignatureMasks.Length");
				for (int i = 0; i < signatureLength; i++) {
					Assert.AreEqual (mask, BitConverter.ToString (d.SignatureMasks[i]), String.Format ("Decoder.SignatureMasks[{0}]", i));
				}
				Assert.AreEqual (signatureLength, d.SignaturePatterns.Length, "Decoder.SignaturePatterns.Length");
				Assert.AreEqual (pattern, BitConverter.ToString (d.SignaturePatterns[0]), "Decoder.SignaturePatterns[0]");
				if (pattern2 != null)
					Assert.AreEqual (pattern2, BitConverter.ToString (d.SignaturePatterns[1]), "Decoder.SignaturePatterns[1]");
			}
		}
コード例 #2
0
        private void CheckDecoderAndEncoder(string clsid, ImageFormat format, string CodecName, string DllName,
                                            string FilenameExtension, ImageCodecFlags Flags, string FormatDescription,
                                            string MimeType, int Version, int signatureLength, string mask, string pattern, string pattern2)
        {
            ImageCodecInfo encoder = GetEncoder(clsid);
            ImageCodecInfo decoder = GetDecoder(clsid);

            if (encoder != null)
            {
                CheckImageCodecInfo(format, CodecName, DllName, FilenameExtension, Flags, FormatDescription, MimeType, signatureLength, mask, pattern, pattern2, encoder);
            }
            if (decoder != null)
            {
                CheckImageCodecInfo(format, CodecName, DllName, FilenameExtension, Flags, FormatDescription, MimeType, signatureLength, mask, pattern, pattern2, decoder);
            }
        }
コード例 #3
0
        static void Check(ImageCodecInfo e, ImageCodecInfo d, Guid FormatID, string CodecName, string DllName,
                          string FilenameExtension, ImageCodecFlags Flags, string FormatDescription,
                          string MimeType, int Version, int signatureLength, string mask, string pattern, string pattern2)
        {
            Regex extRegex = new Regex(@"^(\*\.\w+(;(\*\.\w+))*;)?" +
                                       Regex.Escape(FilenameExtension) + @"(;\*\.\w+(;(\*\.\w+))*)?$",
                                       RegexOptions.IgnoreCase | RegexOptions.Singleline);

            if (e != null)
            {
                Assert.AreEqual(FormatID, e.FormatID, "Encoder.FormatID");
                Assert.IsTrue(e.CodecName.IndexOf(CodecName) >= 0,
                              "Encoder.CodecName contains " + CodecName);
                Assert.AreEqual(DllName, e.DllName, "Encoder.DllName");
                Assert.IsTrue(extRegex.IsMatch(e.FilenameExtension),
                              "Encoder.FilenameExtension is a right list with " + FilenameExtension);
                Assert.AreEqual(Flags, e.Flags, "Encoder.Flags");
                Assert.IsTrue(e.FormatDescription.IndexOf(FormatDescription) >= 0,
                              "Encoder.FormatDescription contains " + FormatDescription);
                Assert.IsTrue(e.MimeType.IndexOf(MimeType) >= 0,
                              "Encoder.MimeType contains " + MimeType);

                Assert.AreEqual(signatureLength, e.SignatureMasks.Length, "Encoder.SignatureMasks.Length");
                for (int i = 0; i < signatureLength; i++)
                {
                    Assert.AreEqual(mask, BitConverter.ToString(e.SignatureMasks[i]), String.Format("Encoder.SignatureMasks[{0}]", i));
                }
                Assert.AreEqual(signatureLength, e.SignaturePatterns.Length, "Encoder.SignaturePatterns.Length");
                Assert.AreEqual(pattern, BitConverter.ToString(e.SignaturePatterns[0]), "Encoder.SignaturePatterns[0]");
                if (pattern2 != null)
                {
                    Assert.AreEqual(pattern2, BitConverter.ToString(e.SignaturePatterns[1]), "Encoder.SignaturePatterns[1]");
                }
            }
            if (d != null)
            {
                Assert.AreEqual(FormatID, d.FormatID, "Decoder.FormatID");
                Assert.IsTrue(d.CodecName.IndexOf(CodecName) >= 0,
                              "Decoder.CodecName contains " + CodecName);
                Assert.AreEqual(DllName, d.DllName, "Decoder.DllName");
                Assert.IsTrue(extRegex.IsMatch(d.FilenameExtension),
                              "Decoder.FilenameExtension is a right list with " + FilenameExtension);
                Assert.AreEqual(Flags, d.Flags, "Decoder.Flags");
                Assert.IsTrue(d.FormatDescription.IndexOf(FormatDescription) >= 0,
                              "Decoder.FormatDescription contains " + FormatDescription);
                Assert.IsTrue(d.MimeType.IndexOf(MimeType) >= 0,
                              "Decoder.MimeType contains " + MimeType);

                Assert.AreEqual(signatureLength, d.SignatureMasks.Length, "Decoder.SignatureMasks.Length");
                for (int i = 0; i < signatureLength; i++)
                {
                    Assert.AreEqual(mask, BitConverter.ToString(d.SignatureMasks[i]), String.Format("Decoder.SignatureMasks[{0}]", i));
                }
                Assert.AreEqual(signatureLength, d.SignaturePatterns.Length, "Decoder.SignaturePatterns.Length");
                Assert.AreEqual(pattern, BitConverter.ToString(d.SignaturePatterns[0]), "Decoder.SignaturePatterns[0]");
                if (pattern2 != null)
                {
                    Assert.AreEqual(pattern2, BitConverter.ToString(d.SignaturePatterns[1]), "Decoder.SignaturePatterns[1]");
                }
            }
        }
コード例 #4
0
        private void CheckImageCodecInfo(ImageFormat format, string CodecName, string DllName, string FilenameExtension, ImageCodecFlags Flags, string FormatDescription, string MimeType, int signatureLength, string mask, string pattern, string pattern2, ImageCodecInfo codecInfo)
        {
            Regex extRegex = new Regex(@"^(\*\.\w+(;(\*\.\w+))*;)?" +
                                       Regex.Escape(FilenameExtension) + @"(;\*\.\w+(;(\*\.\w+))*)?$",
                                       RegexOptions.IgnoreCase | RegexOptions.Singleline);

            Assert.Equal(format.Guid, codecInfo.FormatID);
            Assert.Contains(CodecName, codecInfo.CodecName);
            Assert.Equal(DllName, codecInfo.DllName);
            Assert.Matches(extRegex, codecInfo.FilenameExtension);
            Assert.Equal(Flags, codecInfo.Flags);
            Assert.Contains(FormatDescription, codecInfo.FormatDescription);
            Assert.Contains(MimeType, codecInfo.MimeType);
            Assert.Equal(signatureLength, codecInfo.SignatureMasks.Length);

            for (int i = 0; i < signatureLength; i++)
            {
                Assert.Equal(mask, BitConverter.ToString(codecInfo.SignatureMasks[i]));
            }

            Assert.Equal(signatureLength, codecInfo.SignaturePatterns.Length);
            Assert.Equal(pattern, BitConverter.ToString(codecInfo.SignaturePatterns[0]));
            if (pattern2 != null)
            {
                Assert.Equal(pattern2, BitConverter.ToString(codecInfo.SignaturePatterns[1]));
            }
        }
コード例 #5
0
 public void CheckDecoderAndEncoder_ReturnsExpecetd(string clsid, ImageFormat format, string codecName, string dllName,
                                                    string fileNameExtension, ImageCodecFlags flags, string formatDescription,
                                                    string mimeType, int version, int signatureLength, string mask, string pattern, string pattern2)
 {
     CheckDecoderAndEncoder(clsid, format, codecName, dllName, fileNameExtension, flags, formatDescription, mimeType, version, signatureLength, mask, pattern, pattern2);
 }