const_data/radicals: store both formal and informal variant of radical
Build and test / build (push) Successful in 5m47s
Build and test / build (push) Successful in 5m47s
This commit is contained in:
+291
-204
@@ -1,217 +1,304 @@
|
|||||||
const Map<int, List<String>> radicals = {
|
class RadkfileRadical {
|
||||||
1: ['一', '|', '丶', 'ノ', '乙', '亅'],
|
/// The formal variant of the radical
|
||||||
|
///
|
||||||
|
/// This is the one you want to use for searching.
|
||||||
|
final String formalVariant;
|
||||||
|
|
||||||
|
/// The informal variant of the radical (if it differs from the formal one).
|
||||||
|
///
|
||||||
|
/// This is the one you should display to the user.
|
||||||
|
final String? informalVariant;
|
||||||
|
|
||||||
|
/// The number of strokes in this radical.
|
||||||
|
final int strokeCount;
|
||||||
|
|
||||||
|
const RadkfileRadical({
|
||||||
|
required this.formalVariant,
|
||||||
|
this.informalVariant,
|
||||||
|
required this.strokeCount,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const Map<int, List<RadkfileRadical>> radicals = {
|
||||||
|
1: [
|
||||||
|
RadkfileRadical(formalVariant: '一', strokeCount: 1),
|
||||||
|
RadkfileRadical(formalVariant: '|', strokeCount: 1),
|
||||||
|
RadkfileRadical(formalVariant: '丶', strokeCount: 1),
|
||||||
|
RadkfileRadical(formalVariant: 'ノ', strokeCount: 1),
|
||||||
|
RadkfileRadical(formalVariant: '乙', strokeCount: 1),
|
||||||
|
RadkfileRadical(formalVariant: '亅', strokeCount: 1),
|
||||||
|
],
|
||||||
2: [
|
2: [
|
||||||
'二',
|
RadkfileRadical(formalVariant: '二', strokeCount: 2),
|
||||||
'亠',
|
RadkfileRadical(formalVariant: '亠', strokeCount: 2),
|
||||||
'人',
|
RadkfileRadical(formalVariant: '人', strokeCount: 2),
|
||||||
'⺅',
|
RadkfileRadical(formalVariant: '化', informalVariant: '⺅', strokeCount: 2),
|
||||||
'𠆢',
|
RadkfileRadical(formalVariant: '个', informalVariant: '𠆢', strokeCount: 2),
|
||||||
'儿',
|
RadkfileRadical(formalVariant: '儿', strokeCount: 2),
|
||||||
'入',
|
RadkfileRadical(formalVariant: '入', strokeCount: 2),
|
||||||
'ハ',
|
RadkfileRadical(formalVariant: 'ハ', strokeCount: 2),
|
||||||
'丷',
|
RadkfileRadical(formalVariant: '并', strokeCount: 2),
|
||||||
'冂',
|
RadkfileRadical(formalVariant: '冂', strokeCount: 2),
|
||||||
'冖',
|
RadkfileRadical(formalVariant: '冖', strokeCount: 2),
|
||||||
'冫',
|
RadkfileRadical(formalVariant: '冫', strokeCount: 2),
|
||||||
'几',
|
RadkfileRadical(formalVariant: '几', strokeCount: 2),
|
||||||
'凵',
|
RadkfileRadical(formalVariant: '凵', strokeCount: 2),
|
||||||
'刀',
|
RadkfileRadical(formalVariant: '刀', strokeCount: 2),
|
||||||
'⺉',
|
RadkfileRadical(formalVariant: '刈', strokeCount: 2),
|
||||||
'力',
|
RadkfileRadical(formalVariant: '力', strokeCount: 2),
|
||||||
'勹',
|
RadkfileRadical(formalVariant: '勹', strokeCount: 2),
|
||||||
'匕',
|
RadkfileRadical(formalVariant: '匕', strokeCount: 2),
|
||||||
'匚',
|
RadkfileRadical(formalVariant: '匚', strokeCount: 2),
|
||||||
'十',
|
RadkfileRadical(formalVariant: '十', strokeCount: 2),
|
||||||
'卜',
|
RadkfileRadical(formalVariant: '卜', strokeCount: 2),
|
||||||
'卩',
|
RadkfileRadical(formalVariant: '卩', strokeCount: 2),
|
||||||
'厂',
|
RadkfileRadical(formalVariant: '厂', strokeCount: 2),
|
||||||
'厶',
|
RadkfileRadical(formalVariant: '厶', strokeCount: 2),
|
||||||
'又',
|
RadkfileRadical(formalVariant: '又', strokeCount: 2),
|
||||||
'マ',
|
RadkfileRadical(formalVariant: 'マ', strokeCount: 2),
|
||||||
'九',
|
RadkfileRadical(formalVariant: '九', strokeCount: 2),
|
||||||
'ユ',
|
RadkfileRadical(formalVariant: 'ユ', strokeCount: 2),
|
||||||
'乃',
|
RadkfileRadical(formalVariant: '乃', strokeCount: 2),
|
||||||
'𠂉',
|
RadkfileRadical(formalVariant: '乞', strokeCount: 2),
|
||||||
],
|
],
|
||||||
3: [
|
3: [
|
||||||
'⻌',
|
RadkfileRadical(formalVariant: '込', informalVariant: '⻌', strokeCount: 3),
|
||||||
'口',
|
RadkfileRadical(formalVariant: '口', strokeCount: 3),
|
||||||
'囗',
|
RadkfileRadical(formalVariant: '囗', strokeCount: 3),
|
||||||
'土',
|
RadkfileRadical(formalVariant: '土', strokeCount: 3),
|
||||||
'士',
|
RadkfileRadical(formalVariant: '士', strokeCount: 3),
|
||||||
'夂',
|
RadkfileRadical(formalVariant: '夂', strokeCount: 3),
|
||||||
'夕',
|
RadkfileRadical(formalVariant: '夕', strokeCount: 3),
|
||||||
'大',
|
RadkfileRadical(formalVariant: '大', strokeCount: 3),
|
||||||
'女',
|
RadkfileRadical(formalVariant: '女', strokeCount: 3),
|
||||||
'子',
|
RadkfileRadical(formalVariant: '子', strokeCount: 3),
|
||||||
'宀',
|
RadkfileRadical(formalVariant: '宀', strokeCount: 3),
|
||||||
'寸',
|
RadkfileRadical(formalVariant: '寸', strokeCount: 3),
|
||||||
'小',
|
RadkfileRadical(formalVariant: '小', strokeCount: 3),
|
||||||
'⺌',
|
RadkfileRadical(formalVariant: '尚', informalVariant: '⺌', strokeCount: 3),
|
||||||
'尢',
|
RadkfileRadical(formalVariant: '尢', strokeCount: 3),
|
||||||
'尸',
|
RadkfileRadical(formalVariant: '尸', strokeCount: 3),
|
||||||
'屮',
|
RadkfileRadical(formalVariant: '屮', strokeCount: 3),
|
||||||
'山',
|
RadkfileRadical(formalVariant: '山', strokeCount: 3),
|
||||||
'川',
|
RadkfileRadical(formalVariant: '川', strokeCount: 3),
|
||||||
'巛',
|
RadkfileRadical(formalVariant: '巛', strokeCount: 3),
|
||||||
'工',
|
RadkfileRadical(formalVariant: '工', strokeCount: 3),
|
||||||
'已',
|
RadkfileRadical(formalVariant: '已', strokeCount: 3),
|
||||||
'巾',
|
RadkfileRadical(formalVariant: '巾', strokeCount: 3),
|
||||||
'干',
|
RadkfileRadical(formalVariant: '干', strokeCount: 3),
|
||||||
'幺',
|
RadkfileRadical(formalVariant: '幺', strokeCount: 3),
|
||||||
'广',
|
RadkfileRadical(formalVariant: '广', strokeCount: 3),
|
||||||
'廴',
|
RadkfileRadical(formalVariant: '廴', strokeCount: 3),
|
||||||
'廾',
|
RadkfileRadical(formalVariant: '廾', strokeCount: 3),
|
||||||
'弋',
|
RadkfileRadical(formalVariant: '弋', strokeCount: 3),
|
||||||
'弓',
|
RadkfileRadical(formalVariant: '弓', strokeCount: 3),
|
||||||
'ヨ',
|
RadkfileRadical(formalVariant: 'ヨ', strokeCount: 3),
|
||||||
'彑',
|
RadkfileRadical(formalVariant: '彑', strokeCount: 3),
|
||||||
'彡',
|
RadkfileRadical(formalVariant: '彡', strokeCount: 3),
|
||||||
'彳',
|
RadkfileRadical(formalVariant: '彳', strokeCount: 3),
|
||||||
'⺖',
|
RadkfileRadical(formalVariant: '忙', informalVariant: '⺖', strokeCount: 3),
|
||||||
'⺘',
|
RadkfileRadical(formalVariant: '扎', informalVariant: '⺘', strokeCount: 3),
|
||||||
'⺡',
|
RadkfileRadical(formalVariant: '汁', informalVariant: '⺡', strokeCount: 3),
|
||||||
'⺨',
|
RadkfileRadical(formalVariant: '犯', informalVariant: '⺨', strokeCount: 3),
|
||||||
'⺾',
|
RadkfileRadical(formalVariant: '艾', informalVariant: '⺾', strokeCount: 3),
|
||||||
'⻏',
|
RadkfileRadical(formalVariant: '邦', informalVariant: '⻏', strokeCount: 3),
|
||||||
'⻖',
|
RadkfileRadical(formalVariant: '阡', informalVariant: '⻖', strokeCount: 3),
|
||||||
'也',
|
RadkfileRadical(formalVariant: '也', strokeCount: 3),
|
||||||
'亡',
|
RadkfileRadical(formalVariant: '亡', strokeCount: 3),
|
||||||
'及',
|
RadkfileRadical(formalVariant: '及', strokeCount: 3),
|
||||||
'久',
|
RadkfileRadical(formalVariant: '久', strokeCount: 3),
|
||||||
],
|
],
|
||||||
4: [
|
4: [
|
||||||
'⺹',
|
RadkfileRadical(formalVariant: '老', informalVariant: '⺹', strokeCount: 4),
|
||||||
'心',
|
RadkfileRadical(formalVariant: '心', strokeCount: 4),
|
||||||
'戈',
|
RadkfileRadical(formalVariant: '戈', strokeCount: 4),
|
||||||
'戸',
|
RadkfileRadical(formalVariant: '戸', strokeCount: 4),
|
||||||
'手',
|
RadkfileRadical(formalVariant: '手', strokeCount: 4),
|
||||||
'支',
|
RadkfileRadical(formalVariant: '支', strokeCount: 4),
|
||||||
'攵',
|
RadkfileRadical(formalVariant: '攵', strokeCount: 4),
|
||||||
'文',
|
RadkfileRadical(formalVariant: '文', strokeCount: 4),
|
||||||
'斗',
|
RadkfileRadical(formalVariant: '斗', strokeCount: 4),
|
||||||
'斤',
|
RadkfileRadical(formalVariant: '斤', strokeCount: 4),
|
||||||
'方',
|
RadkfileRadical(formalVariant: '方', strokeCount: 4),
|
||||||
'无',
|
RadkfileRadical(formalVariant: '无', strokeCount: 4),
|
||||||
'日',
|
RadkfileRadical(formalVariant: '日', strokeCount: 4),
|
||||||
'曰',
|
RadkfileRadical(formalVariant: '曰', strokeCount: 4),
|
||||||
'月',
|
RadkfileRadical(formalVariant: '月', strokeCount: 4),
|
||||||
'木',
|
RadkfileRadical(formalVariant: '木', strokeCount: 4),
|
||||||
'欠',
|
RadkfileRadical(formalVariant: '欠', strokeCount: 4),
|
||||||
'止',
|
RadkfileRadical(formalVariant: '止', strokeCount: 4),
|
||||||
'歹',
|
RadkfileRadical(formalVariant: '歹', strokeCount: 4),
|
||||||
'殳',
|
RadkfileRadical(formalVariant: '殳', strokeCount: 4),
|
||||||
'比',
|
RadkfileRadical(formalVariant: '比', strokeCount: 4),
|
||||||
'毛',
|
RadkfileRadical(formalVariant: '毛', strokeCount: 4),
|
||||||
'氏',
|
RadkfileRadical(formalVariant: '氏', strokeCount: 4),
|
||||||
'气',
|
RadkfileRadical(formalVariant: '气', strokeCount: 4),
|
||||||
'水',
|
RadkfileRadical(formalVariant: '水', strokeCount: 4),
|
||||||
'火',
|
RadkfileRadical(formalVariant: '火', strokeCount: 4),
|
||||||
'⺣',
|
RadkfileRadical(formalVariant: '杰', strokeCount: 4),
|
||||||
'爪',
|
RadkfileRadical(formalVariant: '爪', strokeCount: 4),
|
||||||
'父',
|
RadkfileRadical(formalVariant: '父', strokeCount: 4),
|
||||||
'爻',
|
RadkfileRadical(formalVariant: '爻', strokeCount: 4),
|
||||||
'爿',
|
RadkfileRadical(formalVariant: '爿', strokeCount: 4),
|
||||||
'片',
|
RadkfileRadical(formalVariant: '片', strokeCount: 4),
|
||||||
'牛',
|
RadkfileRadical(formalVariant: '牛', strokeCount: 4),
|
||||||
'犬',
|
RadkfileRadical(formalVariant: '犬', strokeCount: 4),
|
||||||
'⺭',
|
RadkfileRadical(formalVariant: '礼', strokeCount: 4),
|
||||||
'王',
|
RadkfileRadical(formalVariant: '王', strokeCount: 4),
|
||||||
'元',
|
RadkfileRadical(formalVariant: '元', strokeCount: 4),
|
||||||
'井',
|
RadkfileRadical(formalVariant: '井', strokeCount: 4),
|
||||||
'勿',
|
RadkfileRadical(formalVariant: '勿', strokeCount: 4),
|
||||||
'尤',
|
RadkfileRadical(formalVariant: '尤', strokeCount: 4),
|
||||||
'五',
|
RadkfileRadical(formalVariant: '五', strokeCount: 4),
|
||||||
'屯',
|
RadkfileRadical(formalVariant: '屯', strokeCount: 4),
|
||||||
'巴',
|
RadkfileRadical(formalVariant: '巴', strokeCount: 4),
|
||||||
'毋',
|
RadkfileRadical(formalVariant: '毋', strokeCount: 4),
|
||||||
],
|
],
|
||||||
5: [
|
5: [
|
||||||
'玄',
|
RadkfileRadical(formalVariant: '玄', strokeCount: 5),
|
||||||
'瓦',
|
RadkfileRadical(formalVariant: '瓦', strokeCount: 5),
|
||||||
'甘',
|
RadkfileRadical(formalVariant: '甘', strokeCount: 5),
|
||||||
'生',
|
RadkfileRadical(formalVariant: '生', strokeCount: 5),
|
||||||
'用',
|
RadkfileRadical(formalVariant: '用', strokeCount: 5),
|
||||||
'田',
|
RadkfileRadical(formalVariant: '田', strokeCount: 5),
|
||||||
'疋',
|
RadkfileRadical(formalVariant: '疋', strokeCount: 5),
|
||||||
'疒',
|
RadkfileRadical(formalVariant: '疔', strokeCount: 5),
|
||||||
'癶',
|
RadkfileRadical(formalVariant: '癶', strokeCount: 5),
|
||||||
'白',
|
RadkfileRadical(formalVariant: '白', strokeCount: 5),
|
||||||
'皮',
|
RadkfileRadical(formalVariant: '皮', strokeCount: 5),
|
||||||
'皿',
|
RadkfileRadical(formalVariant: '皿', strokeCount: 5),
|
||||||
'目',
|
RadkfileRadical(formalVariant: '目', strokeCount: 5),
|
||||||
'矛',
|
RadkfileRadical(formalVariant: '矛', strokeCount: 5),
|
||||||
'矢',
|
RadkfileRadical(formalVariant: '矢', strokeCount: 5),
|
||||||
'石',
|
RadkfileRadical(formalVariant: '石', strokeCount: 5),
|
||||||
'示',
|
RadkfileRadical(formalVariant: '示', strokeCount: 5),
|
||||||
'禸',
|
RadkfileRadical(formalVariant: '禹', strokeCount: 5),
|
||||||
'禾',
|
RadkfileRadical(formalVariant: '禾', strokeCount: 5),
|
||||||
'穴',
|
RadkfileRadical(formalVariant: '穴', strokeCount: 5),
|
||||||
'立',
|
RadkfileRadical(formalVariant: '立', strokeCount: 5),
|
||||||
'⻂',
|
RadkfileRadical(formalVariant: '初', strokeCount: 5),
|
||||||
'世',
|
RadkfileRadical(formalVariant: '世', strokeCount: 5),
|
||||||
'巨',
|
RadkfileRadical(formalVariant: '巨', strokeCount: 5),
|
||||||
'冊',
|
RadkfileRadical(formalVariant: '冊', strokeCount: 5),
|
||||||
'母',
|
RadkfileRadical(formalVariant: '母', strokeCount: 5),
|
||||||
'⺲',
|
RadkfileRadical(formalVariant: '買', strokeCount: 5),
|
||||||
'牙',
|
RadkfileRadical(formalVariant: '牙', strokeCount: 5),
|
||||||
],
|
],
|
||||||
6: [
|
6: [
|
||||||
'瓜',
|
RadkfileRadical(formalVariant: '瓜', strokeCount: 6),
|
||||||
'竹',
|
RadkfileRadical(formalVariant: '竹', strokeCount: 6),
|
||||||
'米',
|
RadkfileRadical(formalVariant: '米', strokeCount: 6),
|
||||||
'糸',
|
RadkfileRadical(formalVariant: '糸', strokeCount: 6),
|
||||||
'缶',
|
RadkfileRadical(formalVariant: '缶', strokeCount: 6),
|
||||||
'羊',
|
RadkfileRadical(formalVariant: '羊', strokeCount: 6),
|
||||||
'羽',
|
RadkfileRadical(formalVariant: '羽', strokeCount: 6),
|
||||||
'而',
|
RadkfileRadical(formalVariant: '而', strokeCount: 6),
|
||||||
'耒',
|
RadkfileRadical(formalVariant: '耒', strokeCount: 6),
|
||||||
'耳',
|
RadkfileRadical(formalVariant: '耳', strokeCount: 6),
|
||||||
'聿',
|
RadkfileRadical(formalVariant: '聿', strokeCount: 6),
|
||||||
'肉',
|
RadkfileRadical(formalVariant: '肉', strokeCount: 6),
|
||||||
'自',
|
RadkfileRadical(formalVariant: '自', strokeCount: 6),
|
||||||
'至',
|
RadkfileRadical(formalVariant: '至', strokeCount: 6),
|
||||||
'臼',
|
RadkfileRadical(formalVariant: '臼', strokeCount: 6),
|
||||||
'舌',
|
RadkfileRadical(formalVariant: '舌', strokeCount: 6),
|
||||||
'舟',
|
RadkfileRadical(formalVariant: '舟', strokeCount: 6),
|
||||||
'艮',
|
RadkfileRadical(formalVariant: '艮', strokeCount: 6),
|
||||||
'色',
|
RadkfileRadical(formalVariant: '色', strokeCount: 6),
|
||||||
'虍',
|
RadkfileRadical(formalVariant: '虍', strokeCount: 6),
|
||||||
'虫',
|
RadkfileRadical(formalVariant: '虫', strokeCount: 6),
|
||||||
'血',
|
RadkfileRadical(formalVariant: '血', strokeCount: 6),
|
||||||
'行',
|
RadkfileRadical(formalVariant: '行', strokeCount: 6),
|
||||||
'衣',
|
RadkfileRadical(formalVariant: '衣', strokeCount: 6),
|
||||||
'西',
|
RadkfileRadical(formalVariant: '西', strokeCount: 6),
|
||||||
],
|
],
|
||||||
7: [
|
7: [
|
||||||
'臣',
|
RadkfileRadical(formalVariant: '臣', strokeCount: 7),
|
||||||
'見',
|
RadkfileRadical(formalVariant: '見', strokeCount: 7),
|
||||||
'角',
|
RadkfileRadical(formalVariant: '角', strokeCount: 7),
|
||||||
'言',
|
RadkfileRadical(formalVariant: '言', strokeCount: 7),
|
||||||
'谷',
|
RadkfileRadical(formalVariant: '谷', strokeCount: 7),
|
||||||
'豆',
|
RadkfileRadical(formalVariant: '豆', strokeCount: 7),
|
||||||
'豕',
|
RadkfileRadical(formalVariant: '豕', strokeCount: 7),
|
||||||
'豸',
|
RadkfileRadical(formalVariant: '豸', strokeCount: 7),
|
||||||
'貝',
|
RadkfileRadical(formalVariant: '貝', strokeCount: 7),
|
||||||
'赤',
|
RadkfileRadical(formalVariant: '赤', strokeCount: 7),
|
||||||
'走',
|
RadkfileRadical(formalVariant: '走', strokeCount: 7),
|
||||||
'足',
|
RadkfileRadical(formalVariant: '足', strokeCount: 7),
|
||||||
'身',
|
RadkfileRadical(formalVariant: '身', strokeCount: 7),
|
||||||
'車',
|
RadkfileRadical(formalVariant: '車', strokeCount: 7),
|
||||||
'辛',
|
RadkfileRadical(formalVariant: '辛', strokeCount: 7),
|
||||||
'辰',
|
RadkfileRadical(formalVariant: '辰', strokeCount: 7),
|
||||||
'酉',
|
RadkfileRadical(formalVariant: '酉', strokeCount: 7),
|
||||||
'釆',
|
RadkfileRadical(formalVariant: '釆', strokeCount: 7),
|
||||||
'里',
|
RadkfileRadical(formalVariant: '里', strokeCount: 7),
|
||||||
'舛',
|
RadkfileRadical(formalVariant: '舛', strokeCount: 7),
|
||||||
'麦',
|
RadkfileRadical(formalVariant: '麦', strokeCount: 7),
|
||||||
],
|
],
|
||||||
8: ['金', '長', '門', '隶', '隹', '雨', '青', '非', '奄', '岡', '免', '斉'],
|
8: [
|
||||||
9: ['面', '革', '韭', '音', '頁', '風', '飛', '食', '首', '香', '品'],
|
RadkfileRadical(formalVariant: '金', strokeCount: 8),
|
||||||
10: ['馬', '骨', '高', '髟', '鬥', '鬯', '鬲', '鬼', '竜', '韋'],
|
RadkfileRadical(formalVariant: '長', strokeCount: 8),
|
||||||
11: ['魚', '鳥', '鹵', '鹿', '麻', '亀', '啇', '黄', '黒'],
|
RadkfileRadical(formalVariant: '門', strokeCount: 8),
|
||||||
12: ['黍', '黹', '無', '歯'],
|
RadkfileRadical(formalVariant: '隶', strokeCount: 8),
|
||||||
13: ['黽', '鼎', '鼓', '鼠'],
|
RadkfileRadical(formalVariant: '隹', strokeCount: 8),
|
||||||
14: ['鼻', '齊'],
|
RadkfileRadical(formalVariant: '雨', strokeCount: 8),
|
||||||
17: ['龠'],
|
RadkfileRadical(formalVariant: '青', strokeCount: 8),
|
||||||
|
RadkfileRadical(formalVariant: '非', strokeCount: 8),
|
||||||
|
RadkfileRadical(formalVariant: '奄', strokeCount: 8),
|
||||||
|
RadkfileRadical(formalVariant: '岡', strokeCount: 8),
|
||||||
|
RadkfileRadical(formalVariant: '免', strokeCount: 8),
|
||||||
|
RadkfileRadical(formalVariant: '斉', strokeCount: 8),
|
||||||
|
],
|
||||||
|
9: [
|
||||||
|
RadkfileRadical(formalVariant: '面', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '革', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '韭', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '音', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '頁', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '風', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '飛', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '食', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '首', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '香', strokeCount: 9),
|
||||||
|
RadkfileRadical(formalVariant: '品', strokeCount: 9),
|
||||||
|
],
|
||||||
|
10: [
|
||||||
|
RadkfileRadical(formalVariant: '馬', strokeCount: 10),
|
||||||
|
RadkfileRadical(formalVariant: '骨', strokeCount: 10),
|
||||||
|
RadkfileRadical(formalVariant: '高', strokeCount: 10),
|
||||||
|
RadkfileRadical(formalVariant: '髟', strokeCount: 10),
|
||||||
|
RadkfileRadical(formalVariant: '鬥', strokeCount: 10),
|
||||||
|
RadkfileRadical(formalVariant: '鬯', strokeCount: 10),
|
||||||
|
RadkfileRadical(formalVariant: '鬲', strokeCount: 10),
|
||||||
|
RadkfileRadical(formalVariant: '鬼', strokeCount: 10),
|
||||||
|
RadkfileRadical(formalVariant: '竜', strokeCount: 10),
|
||||||
|
RadkfileRadical(formalVariant: '韋', strokeCount: 10),
|
||||||
|
],
|
||||||
|
11: [
|
||||||
|
RadkfileRadical(formalVariant: '魚', strokeCount: 11),
|
||||||
|
RadkfileRadical(formalVariant: '鳥', strokeCount: 11),
|
||||||
|
RadkfileRadical(formalVariant: '鹵', strokeCount: 11),
|
||||||
|
RadkfileRadical(formalVariant: '鹿', strokeCount: 11),
|
||||||
|
RadkfileRadical(formalVariant: '麻', strokeCount: 11),
|
||||||
|
RadkfileRadical(formalVariant: '亀', strokeCount: 11),
|
||||||
|
RadkfileRadical(formalVariant: '滴', strokeCount: 11),
|
||||||
|
RadkfileRadical(formalVariant: '黄', strokeCount: 11),
|
||||||
|
RadkfileRadical(formalVariant: '黒', strokeCount: 11),
|
||||||
|
],
|
||||||
|
12: [
|
||||||
|
RadkfileRadical(formalVariant: '黍', strokeCount: 12),
|
||||||
|
RadkfileRadical(formalVariant: '黹', strokeCount: 12),
|
||||||
|
RadkfileRadical(formalVariant: '無', strokeCount: 12),
|
||||||
|
RadkfileRadical(formalVariant: '歯', strokeCount: 12),
|
||||||
|
],
|
||||||
|
13: [
|
||||||
|
RadkfileRadical(formalVariant: '黽', strokeCount: 13),
|
||||||
|
RadkfileRadical(formalVariant: '鼎', strokeCount: 13),
|
||||||
|
RadkfileRadical(formalVariant: '鼓', strokeCount: 13),
|
||||||
|
RadkfileRadical(formalVariant: '鼠', strokeCount: 13),
|
||||||
|
],
|
||||||
|
14: [
|
||||||
|
RadkfileRadical(formalVariant: '鼻', strokeCount: 14),
|
||||||
|
RadkfileRadical(formalVariant: '齊', strokeCount: 14),
|
||||||
|
],
|
||||||
|
17: [RadkfileRadical(formalVariant: '龠', strokeCount: 17)],
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,32 +7,29 @@ import 'package:test/test.dart';
|
|||||||
import 'setup_database_connection.dart';
|
import 'setup_database_connection.dart';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
test(
|
test('All constant radicals should exist in the database', () async {
|
||||||
'All constant radicals should exist in the database',
|
final connection = await setupDatabaseConnection();
|
||||||
() async {
|
final allRadicalsInDb = await connection.query(
|
||||||
final connection = await setupDatabaseConnection();
|
RADKFILETableNames.radkfile,
|
||||||
final allRadicalsInDb = await connection.query(
|
columns: ['radical'],
|
||||||
RADKFILETableNames.radkfile,
|
distinct: true,
|
||||||
columns: ['radical'],
|
);
|
||||||
distinct: true,
|
|
||||||
);
|
|
||||||
|
|
||||||
final radicalsInDb = allRadicalsInDb
|
final radicalsInDb = allRadicalsInDb
|
||||||
.map((e) => e['radical'] as String)
|
.map((e) => e['radical'] as String)
|
||||||
.toSet();
|
.toSet();
|
||||||
|
|
||||||
final missingRadicals = radicals.values.flattenedToSet.difference(
|
final missingRadicals = radicals.values.flattenedToSet
|
||||||
radicalsInDb,
|
.map((e) => e.formalVariant)
|
||||||
);
|
.toSet()
|
||||||
|
.difference(radicalsInDb);
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
missingRadicals,
|
missingRadicals,
|
||||||
isEmpty,
|
isEmpty,
|
||||||
reason: 'Missing radicals in database: $missingRadicals',
|
reason: 'Missing radicals in database: $missingRadicals',
|
||||||
);
|
);
|
||||||
},
|
});
|
||||||
skip: 'Test is valid, code is broken, fix me',
|
|
||||||
);
|
|
||||||
|
|
||||||
test(
|
test(
|
||||||
'All radicals in database should be in the constant radical list',
|
'All radicals in database should be in the constant radical list',
|
||||||
@@ -49,7 +46,7 @@ void main() {
|
|||||||
.toSet();
|
.toSet();
|
||||||
|
|
||||||
final extraRadicals = radicalsInDb.difference(
|
final extraRadicals = radicalsInDb.difference(
|
||||||
radicals.values.flattenedToSet,
|
radicals.values.flattenedToSet.map((e) => e.formalVariant).toSet(),
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@@ -59,21 +56,35 @@ void main() {
|
|||||||
'Extra radicals in database missing in the constant list: $extraRadicals',
|
'Extra radicals in database missing in the constant list: $extraRadicals',
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
skip: 'Test is valid, code is broken, fix me',
|
|
||||||
);
|
);
|
||||||
|
|
||||||
group(
|
test(
|
||||||
'All radicals should return results',
|
'All constant radicals are located in the correct stroke count group',
|
||||||
() {
|
() {
|
||||||
for (final radical in radicals.values.flattened) {
|
for (final mapEntry in radicals.entries) {
|
||||||
test(' - $radical', () async {
|
final strokeCount = mapEntry.key;
|
||||||
final connection = await setupDatabaseConnection();
|
final radicalsInGroup = mapEntry.value;
|
||||||
final result = await connection.jadbSearchKanjiByRadicals([radical]);
|
for (final radical in radicalsInGroup) {
|
||||||
expect(result, isNotEmpty);
|
expect(
|
||||||
});
|
strokeCount,
|
||||||
|
radical.strokeCount,
|
||||||
|
reason:
|
||||||
|
'Radical ${radical.formalVariant} should have stroke count $strokeCount but has ${radical.strokeCount}',
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
skip:
|
|
||||||
'These will be automatically fixed once the other radical tests are passing',
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
group('All radicals should return results', () {
|
||||||
|
for (final radical in radicals.values.flattened) {
|
||||||
|
test(' - $radical', () async {
|
||||||
|
final connection = await setupDatabaseConnection();
|
||||||
|
final result = await connection.jadbSearchKanjiByRadicals([
|
||||||
|
radical.formalVariant,
|
||||||
|
]);
|
||||||
|
expect(result, isNotEmpty);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user