Пример #1
0
        private static TestResult ComparePngs(Test test, string result_path, string master_path)
        {
            TestResult res;

            if (!File.Exists(result_path))
            {
                test.SetFailedReason(String.Format("Can not find results file {0}", result_path));
                return(TestResult.Fail);
            }

            if (!File.Exists(master_path))
            {
                test.SetToIgnore(String.Format("Can not find master file {0}", Path.GetFullPath(master_path)));
                return(TestResult.Ignore);
            }

            using (Bitmap result = (Bitmap)Image.FromFile(result_path)) {
                using (Bitmap master = (Bitmap)Image.FromFile(master_path)) {
                    res = CompareBitmaps(test, result, master);

                    if (res == TestResult.Pass)
                    {
                        res = EdgeCompare.CompareBitmaps(test, result, master);
                    }
                }
            }

            return(res);
        }
Пример #2
0
		private static TestResult ComparePngs (Test test, string result_path, string master_path)
		{
			TestResult res;
			
			if (!File.Exists (result_path)) {
				test.SetFailedReason (String.Format ("Can not find results file {0}", result_path));
				return TestResult.Fail;
			}

			if (!File.Exists (master_path)) {
				test.SetToIgnore (String.Format ("Can not find master file {0}", Path.GetFullPath (master_path)));
				return TestResult.Ignore;
			}

			using (Bitmap result = (Bitmap) Image.FromFile (result_path)) {
				using (Bitmap master = (Bitmap) Image.FromFile (master_path)) {
		
					res = CompareBitmaps (test, result, master);
		
					if (res == TestResult.Pass)
						res = EdgeCompare.CompareBitmaps (test, result, master);
		
				}
			}
			
			return res;
		}
Пример #3
0
		public static TestResult Compare (Test test, string result, string master)
		{
			string result_ext = Path.GetExtension (result).ToLower ();
			string master_ext = Path.GetExtension (master).ToLower ();

			if (result_ext != master_ext) {
				test.SetFailedReason (String.Format ("Files {0} and {1} do not have the same extension.", result, master));
				return TestResult.Ignore;
			}

			switch (result_ext) {
			case ".png":
				return ComparePngs (test, result, master);
			case ".tif":
			case ".tiff":
				return CompareTiffs (test, result, master);
			}

			test.SetToIgnore (String.Format ("Unknown file type: {0}", result_ext));
			return TestResult.Ignore;
		}
Пример #4
0
        public static TestResult Compare(Test test, string result, string master)
        {
            string result_ext = Path.GetExtension(result).ToLower();
            string master_ext = Path.GetExtension(master).ToLower();

            if (result_ext != master_ext)
            {
                test.SetFailedReason(String.Format("Files {0} and {1} do not have the same extension.", result, master));
                return(TestResult.Ignore);
            }

            switch (result_ext)
            {
            case ".png":
                return(ComparePngs(test, result, master));

            case ".tif":
            case ".tiff":
                return(CompareTiffs(test, result, master));
            }

            test.SetToIgnore(String.Format("Unknown file type: {0}", result_ext));
            return(TestResult.Ignore);
        }
Пример #5
0
        private static TestResult CompareTiffs(Test test, string result_path, string master_path)
        {
            if (!File.Exists(result_path))
            {
                test.SetFailedReason(String.Format("Can not find results file {0}", result_path));
                return(TestResult.Fail);
            }

            if (!File.Exists(master_path))
            {
                test.SetToIgnore(String.Format("Can not find master file {0}", master_path));
                return(TestResult.Ignore);
            }

            using (Bitmap result = (Bitmap)Image.FromFile(result_path)) {
                using (Bitmap master = (Bitmap)Image.FromFile(master_path)) {
                    Guid [] result_frames = result.FrameDimensionsList;
                    Guid [] master_frames = master.FrameDimensionsList;

                    if (result_frames.Length != master_frames.Length)
                    {
                        test.SetFailedReason(String.Format("Result and Master do not have the same number of layers: result: {0}, master: {1}",
                                                           result_frames.Length, master_frames.Length));
                        return(TestResult.Fail);
                    }

                    for (int i = 0; i < result_frames.Length; i++)
                    {
                        FrameDimension result_dimension    = new FrameDimension(result_frames [0]);
                        FrameDimension master_dimension    = new FrameDimension(master_frames [0]);
                        int            result_frames_count = result.GetFrameCount(result_dimension);
                        int            master_frames_count = master.GetFrameCount(master_dimension);

                        if (result_frames_count != master_frames_count)
                        {
                            test.SetFailedReason(String.Format("Result and Master do not have the same number of frames for frame dimension {0} ({1} vs {2})",
                                                               i, result_frames_count, master_frames_count));
                            return(TestResult.Fail);
                        }

                        for (int f = 0; f < result_frames_count; f++)
                        {
                            result.SelectActiveFrame(result_dimension, f);
                            master.SelectActiveFrame(master_dimension, f);

                            TestResult res = CompareBitmaps(test, result, master);
                            if (res != TestResult.Pass)
                            {
                                test.SetFailedReason(String.Format("Layer {0} -- {1}", f, test.FailedReason));
                                return(res);
                            }

                            res = EdgeCompare.CompareBitmaps(test, result, master);

                            if (res != TestResult.Pass)
                            {
                                test.SetFailedReason(String.Format("Layer {0} -- {1}", f, test.FailedReason));
                                return(res);
                            }
                        }
                    }
                }
            }

            return(TestResult.Pass);
        }
Пример #6
0
		private static TestResult CompareTiffs (Test test, string result_path, string master_path)
		{
			if (!File.Exists (result_path)) {
				test.SetFailedReason (String.Format ("Can not find results file {0}", result_path));
				return TestResult.Fail;
			}

			if (!File.Exists (master_path)) {
				test.SetToIgnore (String.Format ("Can not find master file {0}", master_path));
				return TestResult.Ignore;
			}

			using (Bitmap result = (Bitmap) Image.FromFile (result_path)) {
				using (Bitmap master = (Bitmap) Image.FromFile (master_path)) {
					Guid [] result_frames = result.FrameDimensionsList;
					Guid [] master_frames = master.FrameDimensionsList;

					if (result_frames.Length != master_frames.Length) {
						test.SetFailedReason (String.Format ("Result and Master do not have the same number of layers: result: {0}, master: {1}",
									result_frames.Length, master_frames.Length));
						return TestResult.Fail;
					}

					for (int i = 0; i < result_frames.Length; i++) {
						FrameDimension result_dimension = new FrameDimension (result_frames [0]);
						FrameDimension master_dimension = new FrameDimension (master_frames [0]);
						int result_frames_count = result.GetFrameCount (result_dimension);
						int master_frames_count = master.GetFrameCount (master_dimension);
						
						if (result_frames_count != master_frames_count) {
							test.SetFailedReason (String.Format ("Result and Master do not have the same number of frames for frame dimension {0} ({1} vs {2})",
										i, result_frames_count, master_frames_count));
							return TestResult.Fail;
						}

						for (int f = 0; f < result_frames_count; f++) {
							result.SelectActiveFrame (result_dimension, f);
							master.SelectActiveFrame (master_dimension, f);
							
							TestResult res = CompareBitmaps (test, result, master);
							if (res != TestResult.Pass) {
								test.SetFailedReason (String.Format ("Layer {0} -- {1}", f, test.FailedReason));
								return res;
							}
							
							res = EdgeCompare.CompareBitmaps (test, result, master);
							
							if (res != TestResult.Pass) {
								test.SetFailedReason (String.Format ("Layer {0} -- {1}", f, test.FailedReason));
								return res;
							}
						}
					}
				}
			}
			
			return TestResult.Pass;
		}