@@ -492,6 +492,114 @@ def test_compose_models(
492492 {},
493493 id = "sort_1"
494494 ),
495+ pytest .param (
496+ [
497+ ("RootA" , {
498+ "field_a1" : {"field_a1_n" : {"field" : int }},
499+ "field_a2" : {"field_a2_n" : {"field" : int }},
500+ "field_a3" : {"field_a3_n" : {"field" : int }},
501+ "field_a4" : {"field_a4_n" : {"field" : int }},
502+ }),
503+ ("RootB" , {
504+ "field_b1" : {"field_b1_n" : {"field" : int }},
505+ "field_b2" : {"field_b2_n" : {"field" : int }},
506+ "field_b3" : {"field_b3_n" : {"field" : int }},
507+ "field_b4" : {"field_b4_n" : {"field" : int }},
508+ }),
509+ ("RootC" , {
510+ "field_c1" : {"field_c1_n" : {"field" : int }},
511+ "field_c2" : {"field_c2_n" : {"field" : int }},
512+ "field_c3" : {"field_c3_n" : {"field" : int }},
513+ "field_c4" : {"field_c4_n" : {"field" : int }},
514+ }),
515+ ],
516+ [
517+ ("RootA" , []),
518+ ("RootB" , []),
519+ ("RootC" , []),
520+ ("FieldA1" , []),
521+ ("FieldA2" , []),
522+ ("FieldA3" , []),
523+ ("FieldA4" , []),
524+ ("FieldB1" , []),
525+ ("FieldB2" , []),
526+ ("FieldB3" , []),
527+ ("FieldB4" , []),
528+ ("FieldC1" , []),
529+ ("FieldC2" , []),
530+ ("FieldC3" , []),
531+ ("FieldC4" , []),
532+ ("FieldA1N_FieldA2N_FieldA3N_FieldA4N_"
533+ "FieldB1N_FieldB2N_FieldB3N_FieldB4N_"
534+ "FieldC1N_FieldC2N_FieldC3N_FieldC4N" , []),
535+ ],
536+ {},
537+ id = "sort_2"
538+ ),
539+ pytest .param (
540+ [
541+ ("RootA" , {
542+ "field_a1" : {
543+ "field_a1_n" : {"field_1" : int },
544+ "field_a1_n2" : {"field_11" : int },
545+ },
546+ "field_a2" : {"field_a2_n" : {"field_2" : int }},
547+ "field_a3" : {"field_a3_n" : {"field_3" : int }},
548+ "field_a4" : {"field_a4_n" : {"field_4" : int }},
549+ }),
550+ ("RootB" , {
551+ "field_b1" : {
552+ "field_b1_n" : {"field_01" : int },
553+ "field_b1_n2" : {"field_b11" : int },
554+ "field_b1_n3" : {"field_b21" : int },
555+ },
556+ "field_b2" : {"field_b2_n" : {"field_02" : int }},
557+ "field_b3" : {
558+ "field_b3_n" : {"field_03" : int },
559+ "field_b3_n2" : {"field_b13" : int },
560+ "field_b3_n3" : {"field_b23" : int },
561+ "field_b3_n4" : {"field_b33" : int },
562+ },
563+ "field_b4" : {"field_b4_n" : {"field_04" : int }},
564+ }),
565+ ],
566+ [
567+ ("RootA" , []),
568+ ("RootB" , []),
569+
570+ ("FieldA1" , []),
571+ ("FieldA1N" , []),
572+ ("FieldA1N2" , []),
573+
574+ ("FieldA2" , []),
575+ ("FieldA2N" , []),
576+
577+ ("FieldA3" , []),
578+ ("FieldA3N" , []),
579+
580+ ("FieldA4" , []),
581+ ("FieldA4N" , []),
582+
583+ ("FieldB1" , []),
584+ ("FieldB1N" , []),
585+ ("FieldB1N2" , []),
586+ ("FieldB1N3" , []),
587+
588+ ("FieldB2" , []),
589+ ("FieldB2N" , []),
590+
591+ ("FieldB3" , []),
592+ ("FieldB3N" , []),
593+ ("FieldB3N2" , []),
594+ ("FieldB3N3" , []),
595+ ("FieldB3N4" , []),
596+
597+ ("FieldB4" , []),
598+ ("FieldB4N" , []),
599+ ],
600+ {},
601+ id = "sort_3"
602+ ),
495603]
496604
497605
0 commit comments