def setUpClass(cls): super().setUpClass() cls.ref_images = os.path.join(cls.cwd, "reference_images") cls.ref_image_all = Images._open_image( image_path=os.path.join( cls.ref_images, "da2d10ye_english_all.png")) cls.ref_image_label = Images._open_image( image_path=os.path.join( cls.ref_images, "da2d10ye_english_label.png")) cls.ref_image_label_hint = Images._open_image( image_path=os.path.join( cls.ref_images, "da2d10ye_english_label_hint.png")) cls.ref_image_label_image = Images._open_image( image_path=os.path.join( cls.ref_images, "da2d10ye_english_label_image.png")) cls.template = ImageSettings.read( xlsform_workbook=cls.xlsform1_workbook)
def test_image_diff_method_for_almost_identical_images(self): """Should pass for identical images.""" ref_image1 = self.ref_image_all ref_image2 = Images._open_image(image_path=os.path.join( self.ref_images, "da2d10ye_english_all_almost_identical.png")) diff_image = ImageChops.difference(ref_image1, ref_image2) pixel_count, diff_dict = self.quantify_image_difference(diff_image) self.assertTrue(diff_dict["tiny"] <= pixel_count * 0.01, diff_dict) self.assertTrue(diff_dict["minor"] <= pixel_count * 0.001, diff_dict) self.assertTrue(diff_dict["large"] == 0, diff_dict)
def test_prepare_base_image_with_logo(self): """Should return a base image with a logo pasted onto it.""" logo = os.path.join(self.cwd, 'nest_images/stopc-logo.png') settings = {'image_width': 500, 'image_height': 500, 'image_color': 'white', 'logo_image_path': logo, 'logo_image_pixels_before': 10, 'logo_image_height': 40} observed, _ = Images._prepare_base_image(settings=settings, xlsform_path="") base_logo = os.path.join(self.cwd, 'reference_images', 'base_logo.png') expected = Images._open_image(image_path=base_logo) self.assertEqual(list(expected.getdata()), list(observed.getdata())) expected.close()