def test_font_name_setter(self): # Test setter in initialization vg = VisualGenerator(font_name='Noto Serif CJK SC') self.assertEqual(vg._font_name, 'Noto Serif CJK SC') self.assertEqual(vg._font_face.ft_face.family_name, 'Noto Serif CJK SC') self.assertEqual(vg._font_face.ft_face.style_name, 'Regular') # Test setter after initialization vg.font_name = 'Noto Serif CJK TC' self.assertEqual(vg._font_name, 'Noto Serif CJK TC') self.assertEqual(vg._font_face.ft_face.family_name, 'Noto Serif CJK TC') self.assertEqual(vg._font_face.ft_face.style_name, 'Regular') # Test exception with self.assertRaises(ValueError): vg = VisualGenerator(font_name='Non Exists Font Name') with self.assertRaises(ValueError): vg.font_name = 'Non Exists Font Name' # Test interference vg.font_style = 'Light' self.assertEqual(vg._font_face.ft_face.style_name, 'Light') vg.font_name = 'Noto Sans CJK JP' self.assertEqual(vg._font_face.ft_face.style_name, 'Light')
def test_font_style_setter(self): # Test setter in initialization vg = VisualGenerator(font_style='Bold') self.assertEqual(vg._font_style, 'Bold') self.assertEqual(vg._font_face.ft_face.family_name, 'Noto Sans CJK SC') self.assertEqual(vg._font_face.ft_face.style_name, 'Bold') # Test setter after initialization vg.font_style = 'Thin' self.assertEqual(vg._font_style, 'Thin') self.assertEqual(vg._font_face.ft_face.family_name, 'Noto Sans CJK SC') self.assertEqual(vg._font_face.ft_face.style_name, 'Thin') # TODO: Add checking so that exception raises when style not found! # Test that non-exist font style results in default style vg.font_style = '123' self.assertEqual(vg._font_style, '123') self.assertEqual(vg._font_face.ft_face.family_name, 'Noto Sans CJK SC') self.assertEqual(vg._font_face.ft_face.style_name, 'Regular') # Test interference vg.font_name = 'Noto Serif CJK SC' self.assertEqual(vg._font_face.ft_face.family_name, 'Noto Serif CJK SC') vg.font_style = 'SemiBold' self.assertEqual(vg._font_face.ft_face.family_name, 'Noto Serif CJK SC')