Esempio n. 1
0
 def test_error_invalid_palette(self):
     self.lgr.palette[0] = 300
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_LGR_INVALID_PALETTE)
     self.lgr.palette[0] = -10
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_LGR_INVALID_PALETTE)
     self.lgr.palette[0] = 0
     self.lgr.palette.append([0])
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_LGR_INVALID_PALETTE)
Esempio n. 2
0
 def test_warning_qbike_too_small(self):
     index = self.lgr.find_LGR_Image("q2BIKE")
     imgt = Image.new("P", (353, 298), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[index].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.WARN_QBIKE_TOO_SMALL)
     imgt = Image.new("P", (354, 297), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[index].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.WARN_QBIKE_TOO_SMALL)
Esempio n. 3
0
 def test_error_distance_invalid(self):
     imgt = Image.new('P', (1, 1), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[-1].img = imgt
     self.lgr.images[-1].default_distance = 0
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_DISTANCE_INVALID)
     self.lgr.images[-1].default_distance = 1000
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_DISTANCE_INVALID)
     self.lgr.images[-1].image_type = LGR_Image.MASK
     self.assertEqual(check_LGR_error(self.lgr), [])
Esempio n. 4
0
 def test_warning_qcolors_wrong_size(self):
     index = self.lgr.find_LGR_Image('qCOlorS')
     imgt = Image.new('P', (67, 109), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[index].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.WARN_QCOLORS_WRONG_SIZE)
     imgt = Image.new("P", (66, 108), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[index].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.WARN_QCOLORS_WRONG_SIZE)
Esempio n. 5
0
 def test_error_obj_width_invalid(self):
     imgt = Image.new('P', (41, 40), 0)
     imgt.putpalette(self.lgr.palette)
     qexit_index = self.lgr.find_LGR_Image("qexit")
     original_qexit_image = self.lgr.images[qexit_index].img
     self.lgr.images[qexit_index].img = imgt
     self.lgr.images[qexit_index].name = "qeXit"
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_OBJ_WIDTH_INVALID)
     self.lgr.images[qexit_index].img = original_qexit_image
     self.lgr.images[-1].name = "qFOOd3"
     self.lgr.images[-1].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_OBJ_WIDTH_INVALID)
Esempio n. 6
0
 def test_error_obj_too_wide(self):
     imgt = Image.new('P', (40040, 40), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[-1].name = "qFOOd3"
     self.lgr.images[-1].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_OBJ_TOO_WIDE)
Esempio n. 7
0
 def test_error_obj_height_invalid(self):
     imgt = Image.new('P', (40, 1), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[-1].name = "qFOOd3"
     self.lgr.images[-1].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.WARN_OBJ_HEIGHT_INVALID)
Esempio n. 8
0
 def test_warning_grass_height_too_small(self):
     imgt = Image.new('P', (41, 40), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[-1].name = "qUp_Xx"
     self.lgr.images[-1].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.WARN_GRASS_HEIGHT_TOO_SMALL)
Esempio n. 9
0
 def test_error_image_type_invalid(self):
     self.lgr.images[-1].name = 'x'
     imgt = Image.new('P', (1, 1), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[-1].img = imgt
     self.lgr.images[-1].image_type = 30
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_IMAGE_TYPE_INVALID)
Esempio n. 10
0
 def test_error_not_enough_textures(self):
     del self.lgr.images[self.lgr.find_LGR_Image("brick")]
     del self.lgr.images[self.lgr.find_LGR_Image("ground")]
     del self.lgr.images[self.lgr.find_LGR_Image("sky")]
     del self.lgr.images[self.lgr.find_LGR_Image("stone1")]
     del self.lgr.images[self.lgr.find_LGR_Image("stone2")]
     del self.lgr.images[self.lgr.find_LGR_Image("stone3")]
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_NOT_ENOUGH_TEXTURES)
Esempio n. 11
0
 def test_error_image_invalid_palette(self):
     imgt = Image.new('RGB', (1, 1), 0)
     self.lgr.images.append(LGR_Image(
         'x',
         imgt,
         LGR_Image.MASK,
         999,
         LGR_Image.CLIPPING_G,
         LGR_Image.TRANSPARENCY_PAL_ZERO))
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_IMAGE_INVALID_PALETTE)
Esempio n. 12
0
 def test_error_too_many_masks(self):
     for i in range(200):
         imgt = Image.new('P', (1, 1), 0)
         imgt.putpalette(self.lgr.palette)
         self.lgr.images.append(LGR_Image(
             'pic%s' % i,
             imgt,
             LGR_Image.MASK,
             999,
             LGR_Image.CLIPPING_G,
             LGR_Image.TRANSPARENCY_PAL_ZERO))
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_TOO_MANY_MASKS)
Esempio n. 13
0
 def test_error_file_too_large(self):
     sizing = 2400
     # palette numbers 193-255 take up 2 bytes in .pcx format instead of
     # one. 2400*2400*2 > 10,000,000
     imgt = Image.new('P', (sizing, sizing), 200)
     imgt.putpalette(self.lgr.palette)
     draw = ImageDraw.Draw(imgt)
     # hatch the image because .pcx format uses run-length-encoding of same
     # value in horizontal sequence
     for i in range(0, sizing, 2):
         draw.line([i, 0, sizing-1, sizing-1-i], fill=201, width=1)
         draw.line([0, i, sizing-1-i, sizing-1], fill=201, width=1)
     del draw
     imgt.save('tests/files/result/err_file_too_large.pcx', 'pcx')
     self.lgr.images[-1].img = imgt
     self.lgr.images[-1].image_type = LGR_Image.TEXTURE
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_FILE_TOO_LARGE)
Esempio n. 14
0
 def test_error_too_many_grass(self):
     for i in range(30, 80):  # skip the already-present qups and qdowns
         # keep height of grass to avoid warning
         imgt = Image.new('P', (1, 41), 0)
         imgt.putpalette(self.lgr.palette)
         self.lgr.images.append(LGR_Image(
             'qUp_%s' % i,
             imgt,
             LGR_Image.PICTURE,
             999,
             LGR_Image.CLIPPING_G,
             LGR_Image.TRANSPARENCY_PAL_ZERO))
     for i in range(30, 80):
         imgt = Image.new('P', (1, 41), 0)
         imgt.putpalette(self.lgr.palette)
         self.lgr.images.append(LGR_Image(
             'qDowN_%s' % i,
             imgt,
             LGR_Image.PICTURE,
             999,
             LGR_Image.CLIPPING_G,
             LGR_Image.TRANSPARENCY_PAL_ZERO))
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_TOO_MANY_GRASS)
Esempio n. 15
0
 def test_warning_palette_mismatch(self):
     edited_palette = LGR_DEFAULT_PALETTE[:]
     edited_palette[0] = 100
     self.lgr.images[4].put_palette(edited_palette)
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.WARN_PALETTE_MISMATCH)
Esempio n. 16
0
 def test_error_missing_mandatory_file(self):
     self.lgr.images.pop(0)
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_LGR_MISSING_MANDATORY_FILE)
Esempio n. 17
0
 def test_error_pic_too_many_pixels(self):
     imgt = Image.new('P', (800, 780), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[-1].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_PIC_TOO_MANY_PIXELS)
Esempio n. 18
0
 def test_error_pic_too_wide(self):
     imgt = Image.new('P', (6001, 1), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images[-1].img = imgt
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_PIC_TOO_WIDE)
Esempio n. 19
0
 def test_error_duplicate_name(self):
     self.lgr.images.append(self.lgr.images[-1])
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_DUPLICATE_NAME)
Esempio n. 20
0
 def test_error_name_missing(self):
     self.lgr.images[-1].name = ''
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_NAME_MISSING)
Esempio n. 21
0
 def test_error_name_too_long(self):
     self.lgr.images[-1].name = 'nameTOOlong'
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_NAME_TOO_LONG)
Esempio n. 22
0
 def test_warning_unused_qfood(self):
     imgt = Image.new('P', (40, 40), 0)
     imgt.putpalette(self.lgr.palette)
     self.lgr.images.append(LGR_Image('qfOod4', imgt))
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.WARN_UNUSED_QFOOD)
Esempio n. 23
0
 def test_error_img_missing(self):
     self.lgr.images[0].img = None
     self.assertEqual(check_LGR_error(self.lgr)[0][0],
                      elma.error.ERR_IMG_MISSING)
Esempio n. 24
0
 def test_error_no_errors(self):
     self.assertEqual(check_LGR_error(self.lgr), [])