def test_lgr_chars(self): self.lgr.add_cp(0x0061) self.lgr.add_cp(0x0062, tag=['test']) __, result = compute_stats(self.lgr, {}) stats = self.STATS.copy() stats['codepoint_number'] = 2 stats['codepoints_by_tag'] = {'test': 1} self.assertDictEqual(result, {'description': 'Generate stats', 'stats': stats})
def test_lgr_rules(self): rule1 = Rule(name='rule1') rule2 = Rule(name='rule2') self.lgr.add_rule(rule1) self.lgr.add_rule(rule2) __, result = compute_stats(self.lgr, {}) stats = self.STATS.copy() stats['rule_number'] = 2 self.assertDictEqual(result, {'description': 'Generate stats', 'stats': stats})
def test_lgr_sequence(self): self.lgr.add_cp([0x0061, 0x0062, 0x0063]) self.lgr.add_cp([0x0061, 0x0062]) __, result = compute_stats(self.lgr, {}) stats = self.STATS.copy() stats['codepoint_number'] = 2 stats['sequence_number'] = 2 stats['largest_sequence'] = CharSequence(cp_or_sequence=(0x0061, 0x0062, 0x0063)) stats['largest_sequence_len'] = 3 self.assertDictEqual(result, {'description': 'Generate stats', 'stats': stats})
def test_lgr_ranges(self): self.lgr.add_range(0x0061, 0x0065) self.lgr.add_range(0x0066, 0x0068) __, result = compute_stats(self.lgr, {}) stats = self.STATS.copy() stats['codepoint_number'] = 8 stats['range_number'] = 2 stats['largest_range'] = RangeChar(0x0061, 0x0061, 0x0065) stats['largest_range_len'] = 5 self.assertDictEqual(result, {'description': 'Generate stats', 'stats': stats})
def test_lgr_variants(self): self.lgr.add_cp(0x0061) self.lgr.add_cp(0x0062) self.lgr.add_cp(0x0063) self.lgr.add_variant(0x0061, 0x0062) self.lgr.add_variant(0x0061, 0x0063) self.lgr.add_variant(0x0062, 0x0061) self.lgr.add_variant(0x0063, 0x0061, variant_type='blocked') __, result = compute_stats(self.lgr, {}) stats = self.STATS.copy() stats['codepoint_number'] = 3 stats['codepoints_with_variants'] = 3 stats['mapping_number'] = 4 stats['variants_by_type'] = {None: 3, 'blocked': 1} stats['largest_variant_set'] = 3 stats['average_variants'] = round(4 / 3, 1) self.assertDictEqual(result, {'description': 'Generate stats', 'stats': stats})
def test_empty_lgr(self): __, result = compute_stats(self.lgr, {}) self.assertDictEqual(result, {'description': 'Generate stats', 'stats': self.STATS})