test_count_inversions.Tests.test_Basics()   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 3
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
import unittest
2
3
from count_inversions import count_inversion
4
5
6
class Tests(unittest.TestCase):
7
    TESTS = {
8
        "Basics": [
9
            {"input": (1, 2, 5, 3, 4, 7, 6), "answer": 3},
10
            {"input": (0, 1, 2, 3), "answer": 0},
11
            {"input": (99, -99), "answer": 1},
12
            {"input": (5, 3, 2, 1, 0), "answer": 10},
13
        ],
14
        "Extra": [
15
            {
16
                "input": (
17
                    -99,
18
                    -98,
19
                    -97,
20
                    -96,
21
                    -95,
22
                    -94,
23
                    -93,
24
                    -92,
25
                    -91,
26
                    -90,
27
                    -89,
28
                    -88,
29
                    -87,
30
                    -86,
31
                    -85,
32
                    -84,
33
                    -83,
34
                    -82,
35
                    -81,
36
                    -80,
37
                    -79,
38
                    -78,
39
                    -77,
40
                    -76,
41
                    -75,
42
                    -74,
43
                    -73,
44
                    -72,
45
                    -71,
46
                    -70,
47
                    -69,
48
                    -68,
49
                    -67,
50
                    -66,
51
                    -65,
52
                    -64,
53
                    -63,
54
                    -62,
55
                    -61,
56
                    -60,
57
                    -59,
58
                    -58,
59
                    -57,
60
                    -56,
61
                    -55,
62
                    -54,
63
                    -53,
64
                    -52,
65
                    -51,
66
                    -50,
67
                    -49,
68
                    -48,
69
                    -47,
70
                    -46,
71
                    -45,
72
                    -44,
73
                    -43,
74
                    -42,
75
                    -41,
76
                    -40,
77
                    -39,
78
                    -38,
79
                    -37,
80
                    -36,
81
                    -35,
82
                    -34,
83
                    -33,
84
                    -32,
85
                    -31,
86
                    -30,
87
                    -29,
88
                    -28,
89
                    -27,
90
                    -26,
91
                    -25,
92
                    -24,
93
                    -23,
94
                    -22,
95
                    -21,
96
                    -20,
97
                    -19,
98
                    -18,
99
                    -17,
100
                    -16,
101
                    -15,
102
                    -14,
103
                    -13,
104
                    -12,
105
                    -11,
106
                    -10,
107
                    -9,
108
                    -8,
109
                    -7,
110
                    -6,
111
                    -5,
112
                    -4,
113
                    -3,
114
                    -2,
115
                    -1,
116
                    0,
117
                    1,
118
                    2,
119
                    3,
120
                    4,
121
                    5,
122
                    6,
123
                    7,
124
                    8,
125
                    9,
126
                    10,
127
                    11,
128
                    12,
129
                    13,
130
                    14,
131
                    15,
132
                    16,
133
                    17,
134
                    18,
135
                    19,
136
                    20,
137
                    21,
138
                    22,
139
                    23,
140
                    24,
141
                    25,
142
                    26,
143
                    27,
144
                    28,
145
                    29,
146
                    30,
147
                    31,
148
                    32,
149
                    33,
150
                    34,
151
                    35,
152
                    36,
153
                    37,
154
                    38,
155
                    39,
156
                    40,
157
                    41,
158
                    42,
159
                    43,
160
                    44,
161
                    45,
162
                    46,
163
                    47,
164
                    48,
165
                    49,
166
                    50,
167
                    51,
168
                    52,
169
                    53,
170
                    54,
171
                    55,
172
                    56,
173
                    57,
174
                    58,
175
                    59,
176
                    60,
177
                    61,
178
                    62,
179
                    63,
180
                    64,
181
                    65,
182
                    66,
183
                    67,
184
                    68,
185
                    69,
186
                    70,
187
                    71,
188
                    72,
189
                    73,
190
                    74,
191
                    75,
192
                    76,
193
                    77,
194
                    78,
195
                    79,
196
                    80,
197
                    81,
198
                    82,
199
                    83,
200
                    84,
201
                    85,
202
                    86,
203
                    87,
204
                    88,
205
                    89,
206
                    90,
207
                    91,
208
                    92,
209
                    93,
210
                    94,
211
                    95,
212
                    96,
213
                    97,
214
                    98,
215
                    99,
216
                ),
217
                "answer": 0,
218
            },
219
            {
220
                "input": (
221
                    99,
222
                    98,
223
                    97,
224
                    96,
225
                    95,
226
                    94,
227
                    93,
228
                    92,
229
                    91,
230
                    90,
231
                    89,
232
                    88,
233
                    87,
234
                    86,
235
                    85,
236
                    84,
237
                    83,
238
                    82,
239
                    81,
240
                    80,
241
                    79,
242
                    78,
243
                    77,
244
                    76,
245
                    75,
246
                    74,
247
                    73,
248
                    72,
249
                    71,
250
                    70,
251
                    69,
252
                    68,
253
                    67,
254
                    66,
255
                    65,
256
                    64,
257
                    63,
258
                    62,
259
                    61,
260
                    60,
261
                    59,
262
                    58,
263
                    57,
264
                    56,
265
                    55,
266
                    54,
267
                    53,
268
                    52,
269
                    51,
270
                    50,
271
                    49,
272
                    48,
273
                    47,
274
                    46,
275
                    45,
276
                    44,
277
                    43,
278
                    42,
279
                    41,
280
                    40,
281
                    39,
282
                    38,
283
                    37,
284
                    36,
285
                    35,
286
                    34,
287
                    33,
288
                    32,
289
                    31,
290
                    30,
291
                    29,
292
                    28,
293
                    27,
294
                    26,
295
                    25,
296
                    24,
297
                    23,
298
                    22,
299
                    21,
300
                    20,
301
                    19,
302
                    18,
303
                    17,
304
                    16,
305
                    15,
306
                    14,
307
                    13,
308
                    12,
309
                    11,
310
                    10,
311
                    9,
312
                    8,
313
                    7,
314
                    6,
315
                    5,
316
                    4,
317
                    3,
318
                    2,
319
                    1,
320
                    0,
321
                    -1,
322
                    -2,
323
                    -3,
324
                    -4,
325
                    -5,
326
                    -6,
327
                    -7,
328
                    -8,
329
                    -9,
330
                    -10,
331
                    -11,
332
                    -12,
333
                    -13,
334
                    -14,
335
                    -15,
336
                    -16,
337
                    -17,
338
                    -18,
339
                    -19,
340
                    -20,
341
                    -21,
342
                    -22,
343
                    -23,
344
                    -24,
345
                    -25,
346
                    -26,
347
                    -27,
348
                    -28,
349
                    -29,
350
                    -30,
351
                    -31,
352
                    -32,
353
                    -33,
354
                    -34,
355
                    -35,
356
                    -36,
357
                    -37,
358
                    -38,
359
                    -39,
360
                    -40,
361
                    -41,
362
                    -42,
363
                    -43,
364
                    -44,
365
                    -45,
366
                    -46,
367
                    -47,
368
                    -48,
369
                    -49,
370
                    -50,
371
                    -51,
372
                    -52,
373
                    -53,
374
                    -54,
375
                    -55,
376
                    -56,
377
                    -57,
378
                    -58,
379
                    -59,
380
                    -60,
381
                    -61,
382
                    -62,
383
                    -63,
384
                    -64,
385
                    -65,
386
                    -66,
387
                    -67,
388
                    -68,
389
                    -69,
390
                    -70,
391
                    -71,
392
                    -72,
393
                    -73,
394
                    -74,
395
                    -75,
396
                    -76,
397
                    -77,
398
                    -78,
399
                    -79,
400
                    -80,
401
                    -81,
402
                    -82,
403
                    -83,
404
                    -84,
405
                    -85,
406
                    -86,
407
                    -87,
408
                    -88,
409
                    -89,
410
                    -90,
411
                    -91,
412
                    -92,
413
                    -93,
414
                    -94,
415
                    -95,
416
                    -96,
417
                    -97,
418
                    -98,
419
                    -99,
420
                ),
421
                "answer": 19701,
422
            },
423
            {"input": (0, 1), "answer": 0},
424
            {"input": (1, 0), "answer": 1},
425
            {
426
                "input": (
427
                    5,
428
                    12,
429
                    -85,
430
                    -92,
431
                    -32,
432
                    -8,
433
                    1,
434
                    -34,
435
                    -55,
436
                    -74,
437
                    -44,
438
                    -63,
439
                    84,
440
                    8,
441
                    65,
442
                    54,
443
                    71,
444
                    90,
445
                    -81,
446
                    98,
447
                    -17,
448
                    82,
449
                    -45,
450
                    -72,
451
                    37,
452
                    26,
453
                    91,
454
                    97,
455
                    64,
456
                    -62,
457
                    -24,
458
                    -70,
459
                    42,
460
                    56,
461
                    -67,
462
                    0,
463
                    -78,
464
                    -87,
465
                    -57,
466
                    -56,
467
                    67,
468
                    -2,
469
                    11,
470
                    -16,
471
                    7,
472
                    13,
473
                    -1,
474
                    -46,
475
                    -54,
476
                    16,
477
                    -4,
478
                    -14,
479
                    63,
480
                    -15,
481
                    -48,
482
                    -66,
483
                    36,
484
                    46,
485
                    75,
486
                    85,
487
                    -79,
488
                    -83,
489
                    -52,
490
                    73,
491
                    49,
492
                    -3,
493
                    88,
494
                    -10,
495
                    60,
496
                    -21,
497
                    -75,
498
                    38,
499
                    44,
500
                    2,
501
                    -89,
502
                    -65,
503
                    -96,
504
                    -22,
505
                    -76,
506
                    -31,
507
                    -58,
508
                    55,
509
                    58,
510
                    14,
511
                    -47,
512
                    20,
513
                    80,
514
                    -60,
515
                    93,
516
                    62,
517
                    -71,
518
                    24,
519
                    45,
520
                    -64,
521
                    94,
522
                    29,
523
                    -94,
524
                    -36,
525
                    57,
526
                    -23,
527
                    6,
528
                    51,
529
                    15,
530
                    -5,
531
                    -53,
532
                    25,
533
                    -41,
534
                    -97,
535
                    89,
536
                    -59,
537
                    66,
538
                    87,
539
                    -19,
540
                    -38,
541
                    -27,
542
                    -86,
543
                    -9,
544
                    40,
545
                    18,
546
                    -93,
547
                    30,
548
                    -20,
549
                    81,
550
                    34,
551
                    3,
552
                    92,
553
                    77,
554
                    -25,
555
                    -49,
556
                    74,
557
                    -51,
558
                    17,
559
                    41,
560
                ),
561
                "answer": 4181,
562
            },
563
            {
564
                "input": (
565
                    58,
566
                    -55,
567
                    -82,
568
                    73,
569
                    98,
570
                    -99,
571
                    -86,
572
                    67,
573
                    84,
574
                    77,
575
                    -73,
576
                    -65,
577
                    -1,
578
                    88,
579
                    -39,
580
                    51,
581
                    31,
582
                    -64,
583
                    -34,
584
                    1,
585
                    36,
586
                    -43,
587
                    91,
588
                    32,
589
                    -88,
590
                    6,
591
                    -93,
592
                    56,
593
                    -7,
594
                    -58,
595
                    -3,
596
                    -11,
597
                    78,
598
                    -48,
599
                    -96,
600
                    -20,
601
                    20,
602
                    -36,
603
                    -50,
604
                    70,
605
                    86,
606
                    -15,
607
                    -74,
608
                    76,
609
                    -32,
610
                    -42,
611
                    -57,
612
                    -51,
613
                    -9,
614
                    -80,
615
                    -12,
616
                    -72,
617
                    -56,
618
                    95,
619
                    7,
620
                    14,
621
                    17,
622
                    52,
623
                    -19,
624
                    -26,
625
                    -27,
626
                    -63,
627
                    -78,
628
                    89,
629
                    74,
630
                    16,
631
                    -40,
632
                    -90,
633
                    18,
634
                    45,
635
                    0,
636
                    42,
637
                    33,
638
                    61,
639
                    26,
640
                    68,
641
                    -23,
642
                    2,
643
                    -98,
644
                    54,
645
                    -61,
646
                    -54,
647
                    -44,
648
                    47,
649
                    38,
650
                    -38,
651
                    -77,
652
                    55,
653
                    23,
654
                    -76,
655
                    24,
656
                    69,
657
                    9,
658
                    -79,
659
                    -87,
660
                    -35,
661
                    -91,
662
                    75,
663
                    90,
664
                    72,
665
                    -2,
666
                    97,
667
                    71,
668
                    -24,
669
                    80,
670
                    -16,
671
                    -25,
672
                    22,
673
                    -70,
674
                    39,
675
                    -4,
676
                    -33,
677
                    28,
678
                    10,
679
                    -47,
680
                    -5,
681
                    -62,
682
                    -46,
683
                    63,
684
                    -95,
685
                    34,
686
                    -18,
687
                    37,
688
                    85,
689
                    -49,
690
                    -28,
691
                    4,
692
                    -71,
693
                    -60,
694
                    -22,
695
                    12,
696
                    99,
697
                    -13,
698
                    -31,
699
                    -29,
700
                    49,
701
                    -97,
702
                    -59,
703
                    62,
704
                    -92,
705
                    -69,
706
                    -30,
707
                    94,
708
                    13,
709
                    96,
710
                    40,
711
                    11,
712
                    25,
713
                    15,
714
                    -81,
715
                    -37,
716
                    92,
717
                    83,
718
                    87,
719
                    44,
720
                    -52,
721
                    48,
722
                    -10,
723
                    5,
724
                    -21,
725
                    19,
726
                    53,
727
                    79,
728
                    57,
729
                    -53,
730
                    3,
731
                    43,
732
                    59,
733
                    50,
734
                    -66,
735
                    -85,
736
                    81,
737
                    60,
738
                    -17,
739
                    29,
740
                    -14,
741
                    93,
742
                    -83,
743
                    -84,
744
                    8,
745
                    -94,
746
                    64,
747
                    46,
748
                    65,
749
                    82,
750
                    -41,
751
                    41,
752
                    66,
753
                    -68,
754
                    -75,
755
                ),
756
                "answer": 8469,
757
            },
758
            {
759
                "input": (
760
                    -76,
761
                    -93,
762
                    29,
763
                    81,
764
                    93,
765
                    20,
766
                    43,
767
                    -34,
768
                    9,
769
                    42,
770
                    -97,
771
                    -90,
772
                    -24,
773
                    -66,
774
                    -87,
775
                    35,
776
                    4,
777
                    -69,
778
                    -21,
779
                    46,
780
                    -28,
781
                    89,
782
                    24,
783
                    99,
784
                    -64,
785
                    18,
786
                    -50,
787
                    66,
788
                    -8,
789
                    -57,
790
                    61,
791
                    -55,
792
                    -25,
793
                    41,
794
                    15,
795
                    60,
796
                    -35,
797
                    12,
798
                    10,
799
                    -6,
800
                    57,
801
                    -16,
802
                    27,
803
                    -54,
804
                    -42,
805
                    28,
806
                    56,
807
                    -47,
808
                    59,
809
                    -31,
810
                    -20,
811
                    -40,
812
                    -68,
813
                    -41,
814
                    -85,
815
                    0,
816
                    58,
817
                    33,
818
                    -89,
819
                    13,
820
                    19,
821
                    11,
822
                    -39,
823
                    -18,
824
                    -17,
825
                    82,
826
                    30,
827
                    -43,
828
                    94,
829
                    -94,
830
                    -5,
831
                    -38,
832
                    -65,
833
                    -71,
834
                    31,
835
                    2,
836
                    39,
837
                    44,
838
                    -48,
839
                    -29,
840
                    -88,
841
                    -82,
842
                    74,
843
                    -49,
844
                    17,
845
                    67,
846
                    -98,
847
                    -9,
848
                    78,
849
                    -14,
850
                    -44,
851
                    71,
852
                    6,
853
                    40,
854
                    45,
855
                    -13,
856
                    85,
857
                    75,
858
                    69,
859
                    80,
860
                    51,
861
                    72,
862
                    88,
863
                    21,
864
                    14,
865
                    -22,
866
                    -4,
867
                    -15,
868
                    37,
869
                    8,
870
                    54,
871
                    -84,
872
                    96,
873
                    -70,
874
                    -2,
875
                    48,
876
                    3,
877
                    32,
878
                    -59,
879
                    -74,
880
                    -37,
881
                    -62,
882
                    -26,
883
                    -83,
884
                    -23,
885
                    65,
886
                    1,
887
                    55,
888
                    50,
889
                    -12,
890
                    97,
891
                    -56,
892
                    23,
893
                    -36,
894
                    -80,
895
                    -79,
896
                    87,
897
                    70,
898
                    62,
899
                    16,
900
                    -52,
901
                    -58,
902
                    -45,
903
                    53,
904
                    -32,
905
                    -75,
906
                    -60,
907
                    -61,
908
                    86,
909
                    73,
910
                    -81,
911
                    -1,
912
                    76,
913
                    -95,
914
                    -77,
915
                    -72,
916
                    -63,
917
                    90,
918
                    -86,
919
                    -11,
920
                    -27,
921
                    64,
922
                    68,
923
                    79,
924
                    38,
925
                    -46,
926
                    83,
927
                    91,
928
                    -53,
929
                    47,
930
                    -99,
931
                    -91,
932
                    -3,
933
                    -19,
934
                    5,
935
                    -73,
936
                    -33,
937
                    34,
938
                    92,
939
                    26,
940
                    -7,
941
                    -92,
942
                    95,
943
                    84,
944
                    49,
945
                    7,
946
                    25,
947
                    -78,
948
                    -67,
949
                    -10,
950
                    36,
951
                    98,
952
                    22,
953
                    -30,
954
                    -51,
955
                ),
956
                "answer": 9272,
957
            },
958
            {
959
                "input": (
960
                    -1,
961
                    69,
962
                    -75,
963
                    -40,
964
                    63,
965
                    -57,
966
                    -52,
967
                    45,
968
                    4,
969
                    8,
970
                    19,
971
                    31,
972
                    -94,
973
                    68,
974
                    -68,
975
                    43,
976
                    56,
977
                    -62,
978
                    59,
979
                    97,
980
                    -39,
981
                    -99,
982
                    77,
983
                    -32,
984
                    -72,
985
                    -37,
986
                    78,
987
                    -11,
988
                    29,
989
                    -82,
990
                    -17,
991
                    93,
992
                    23,
993
                    50,
994
                    -38,
995
                    -22,
996
                    -61,
997
                    -41,
998
                    76,
999
                    -69,
1000
                    -81,
1001
                    -50,
1002
                    7,
1003
                    -74,
1004
                    -98,
1005
                    -95,
1006
                    40,
1007
                    -44,
1008
                    64,
1009
                    21,
1010
                    -33,
1011
                    -42,
1012
                    -8,
1013
                    47,
1014
                    2,
1015
                    -65,
1016
                    -97,
1017
                    34,
1018
                    42,
1019
                    3,
1020
                    -85,
1021
                    55,
1022
                    -71,
1023
                    20,
1024
                    -88,
1025
                    -73,
1026
                    -29,
1027
                    -91,
1028
                    -90,
1029
                    71,
1030
                    -13,
1031
                    51,
1032
                    81,
1033
                    66,
1034
                    27,
1035
                    41,
1036
                    -34,
1037
                    -21,
1038
                    -26,
1039
                    6,
1040
                    17,
1041
                    16,
1042
                    61,
1043
                    -86,
1044
                    -16,
1045
                    -10,
1046
                    95,
1047
                    25,
1048
                    88,
1049
                    -45,
1050
                    -48,
1051
                    32,
1052
                    99,
1053
                    30,
1054
                    62,
1055
                    -9,
1056
                    -5,
1057
                    65,
1058
                    74,
1059
                    33,
1060
                    -53,
1061
                    67,
1062
                    70,
1063
                    60,
1064
                    28,
1065
                    -28,
1066
                    -60,
1067
                    75,
1068
                    26,
1069
                    -27,
1070
                    -14,
1071
                    38,
1072
                    11,
1073
                    -47,
1074
                    84,
1075
                    58,
1076
                    98,
1077
                    44,
1078
                    -80,
1079
                    96,
1080
                    52,
1081
                    -24,
1082
                    -35,
1083
                    83,
1084
                    -87,
1085
                    72,
1086
                    -89,
1087
                    -19,
1088
                    85,
1089
                    -93,
1090
                    -59,
1091
                    -92,
1092
                    -51,
1093
                    -23,
1094
                    -54,
1095
                    18,
1096
                    -43,
1097
                    10,
1098
                    15,
1099
                    -67,
1100
                    -12,
1101
                    36,
1102
                    -55,
1103
                    35,
1104
                    54,
1105
                    -78,
1106
                    24,
1107
                    86,
1108
                    -25,
1109
                    -64,
1110
                    91,
1111
                    73,
1112
                    9,
1113
                    -84,
1114
                    -30,
1115
                    -76,
1116
                    0,
1117
                    14,
1118
                    79,
1119
                    -7,
1120
                    -18,
1121
                    13,
1122
                    87,
1123
                    80,
1124
                    37,
1125
                    -83,
1126
                    -49,
1127
                    -77,
1128
                    82,
1129
                    -2,
1130
                    -58,
1131
                    89,
1132
                    -3,
1133
                    -70,
1134
                ),
1135
                "answer": 7206,
1136
            },
1137
            {
1138
                "input": (
1139
                    -28,
1140
                    -44,
1141
                    -78,
1142
                    -2,
1143
                    2,
1144
                    97,
1145
                    59,
1146
                    -48,
1147
                    -81,
1148
                    -83,
1149
                    -7,
1150
                    33,
1151
                    61,
1152
                    -4,
1153
                    -72,
1154
                    93,
1155
                    -68,
1156
                    -17,
1157
                    24,
1158
                    43,
1159
                    -76,
1160
                    -45,
1161
                    65,
1162
                    80,
1163
                    -37,
1164
                    58,
1165
                    -88,
1166
                    19,
1167
                    50,
1168
                    60,
1169
                    63,
1170
                    -55,
1171
                    36,
1172
                    57,
1173
                    20,
1174
                    27,
1175
                    83,
1176
                    28,
1177
                    -52,
1178
                    13,
1179
                    -90,
1180
                    16,
1181
                    18,
1182
                    62,
1183
                    -3,
1184
                    70,
1185
                    22,
1186
                ),
1187
                "answer": 466,
1188
            },
1189
            {
1190
                "input": (
1191
                    30,
1192
                    -90,
1193
                    -84,
1194
                    49,
1195
                    -56,
1196
                    -30,
1197
                    -83,
1198
                    -79,
1199
                    -60,
1200
                    5,
1201
                    53,
1202
                    -59,
1203
                    97,
1204
                    28,
1205
                    35,
1206
                    78,
1207
                    -94,
1208
                    -57,
1209
                    -51,
1210
                    0,
1211
                    -95,
1212
                    -91,
1213
                    69,
1214
                    -41,
1215
                    2,
1216
                    68,
1217
                    -98,
1218
                    -97,
1219
                    45,
1220
                    15,
1221
                    -8,
1222
                    99,
1223
                    -67,
1224
                    31,
1225
                    -99,
1226
                    29,
1227
                    -38,
1228
                    -77,
1229
                    -33,
1230
                    -25,
1231
                    -15,
1232
                    94,
1233
                    -3,
1234
                    71,
1235
                    65,
1236
                    -44,
1237
                    61,
1238
                    -68,
1239
                    89,
1240
                    -21,
1241
                    -54,
1242
                    -12,
1243
                    25,
1244
                    48,
1245
                    62,
1246
                    -81,
1247
                    74,
1248
                    26,
1249
                    17,
1250
                    -24,
1251
                    40,
1252
                    51,
1253
                    -86,
1254
                    -27,
1255
                    46,
1256
                    54,
1257
                    24,
1258
                    -7,
1259
                    -73,
1260
                    -96,
1261
                    -52,
1262
                    91,
1263
                    -53,
1264
                    36,
1265
                    -31,
1266
                    14,
1267
                    32,
1268
                    52,
1269
                    55,
1270
                    -5,
1271
                    70,
1272
                    1,
1273
                    -19,
1274
                    90,
1275
                    -58,
1276
                    -70,
1277
                    -55,
1278
                    11,
1279
                    93,
1280
                    92,
1281
                    -2,
1282
                    3,
1283
                    -92,
1284
                    88,
1285
                    82,
1286
                    -16,
1287
                    18,
1288
                    67,
1289
                    80,
1290
                    22,
1291
                    -20,
1292
                    -29,
1293
                    84,
1294
                    -39,
1295
                    -23,
1296
                    27,
1297
                    72,
1298
                    6,
1299
                    -78,
1300
                    16,
1301
                    -1,
1302
                    79,
1303
                    -22,
1304
                    21,
1305
                    77,
1306
                    96,
1307
                    66,
1308
                    -4,
1309
                    75,
1310
                    -87,
1311
                    7,
1312
                    59,
1313
                    39,
1314
                    -64,
1315
                    12,
1316
                    50,
1317
                    86,
1318
                    -93,
1319
                    41,
1320
                    -13,
1321
                    -10,
1322
                    38,
1323
                    -34,
1324
                    56,
1325
                ),
1326
                "answer": 3812,
1327
            },
1328
        ],
1329
    }
1330
1331
    def test_Basics(self):
1332
        for i in self.TESTS['Basics']:
1333
            assert count_inversion(i['input']) == i['answer']
1334
1335
    def test_Extra(self):
1336
        for i in self.TESTS['Extra']:
1337
            assert count_inversion(i['input']) == i['answer']
1338
1339
1340
if __name__ == "__main__":  # pragma: no cover
1341
    unittest.main()
1342