def test_w_h_from_str_factor(self): w, h = w_h_from_str('1', 640, 360) self.assertTupleEqual((w, h), (640, 360)) w, h = w_h_from_str('1.1', 640, 360) self.assertTupleEqual((w, h), (int(640*1.1), int(360*1.1))) w, h = w_h_from_str('0.9', 640, 360) self.assertTupleEqual((w, h), (int(640*0.9), int(360*0.9)))
def test_w_h_from_str_factor(self): w, h = w_h_from_str('1', 640, 360) self.assertTupleEqual((w, h), (640, 360)) w, h = w_h_from_str('1.1', 640, 360) self.assertTupleEqual((w, h), (int(640 * 1.1), int(360 * 1.1))) w, h = w_h_from_str('0.9', 640, 360) self.assertTupleEqual((w, h), (int(640 * 0.9), int(360 * 0.9)))
def test_w_h_from_str_w_by_h_keep_aspect(self): w, h = w_h_from_str('640:-1', 960, 518) self.assertTupleEqual((w, h), (640, 344)) w, h = w_h_from_str('640:-1', 640, 360) self.assertTupleEqual((w, h), (640, 360)) w, h = w_h_from_str('-1:360', 640, 360) self.assertTupleEqual((w, h), (640, 360)) w, h = w_h_from_str('1280:-1', 640, 360) self.assertTupleEqual((w, h), (1280, 360 * 2)) w, h = w_h_from_str('-1:720', 640, 360) self.assertTupleEqual((w, h), (640 * 2, 720)) w, h = w_h_from_str('320:-1', 640, 360) self.assertTupleEqual((w, h), (320, 360 * 0.5)) w, h = w_h_from_str('-1:180', 640, 360) self.assertTupleEqual((w, h), (640 * 0.5, 180))
def test_w_h_from_str_w_by_h_keep_aspect(self): w, h = w_h_from_str('640:-1', 960, 518) self.assertTupleEqual((w, h), (640, 344)) w, h = w_h_from_str('640:-1', 640, 360) self.assertTupleEqual((w, h), (640, 360)) w, h = w_h_from_str('-1:360', 640, 360) self.assertTupleEqual((w, h), (640, 360)) w, h = w_h_from_str('1280:-1', 640, 360) self.assertTupleEqual((w, h), (1280, 360*2)) w, h = w_h_from_str('-1:720', 640, 360) self.assertTupleEqual((w, h), (640*2, 720)) w, h = w_h_from_str('320:-1', 640, 360) self.assertTupleEqual((w, h), (320, 360*0.5)) w, h = w_h_from_str('-1:180', 640, 360) self.assertTupleEqual((w, h), (640*0.5, 180))
def test_w_h_from_str_unknown_negative_number_fails(self): with self.assertRaises(ValueError): w_h_from_str('-2:360', 640, 360)
def test_w_h_from_str_unknown_char_fails(self): with self.assertRaises(ValueError): w_h_from_str('unknown:360', 640, 360)
def test_w_h_from_str_divisible_by_two_fails(self): with self.assertRaises(ValueError): w_h_from_str('640:1', 640, 360) with self.assertRaises(ValueError): w_h_from_str('1:360', 640, 360)
def test_w_h_from_str_w_by_h_both_negative_one(self): w, h = w_h_from_str('-1:-1', 640, 360) self.assertTupleEqual((w, h), (640, 360))
def test_w_h_from_str_diff_w_and_h(self): w, h = w_h_from_str('854:480', 640, 360) self.assertTupleEqual((w, h), (854, 480))