def test_can_encrypt_method(self): # 32 pixels are required for end message code # 4 x 4 x 3 = 48; (48 - 32) / 4 = 4 -> 4 characters possible img_small = np.zeros((4, 4, 3), np.uint8) # 5 x 5 x 3 = 75; (75 - 32) / 4 ~= 10+ -> 10 characters possible img_ok = np.zeros((5, 5, 3), np.uint8) # 6x6 - minimum image size for encryption img_one_channel = np.zeros((6, 6, 1), np.uint8) text_small = "test" text = "10letters!" text_long = "Too long string" self.assertTrue(Encrypter.can_encrypt(img_small, text_small)) self.assertFalse(Encrypter.can_encrypt(img_small, text)) self.assertTrue(Encrypter.can_encrypt(img_ok, text)) self.assertFalse(Encrypter.can_encrypt(img_ok, text_long)) self.assertFalse(Encrypter.can_encrypt(img_one_channel, text)) self.assertTrue(Encrypter.can_encrypt(img_one_channel, "1"))