debug-et-diagnostics 0.3.1

set of macros and tools to colorfully debug and diagnose non-trivial code
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
use debug_et_diagnostics::{from_debug};

#[test]
fn test_from_debug_letter_A_to_Z() {
    assert_eq!(from_debug("A"), 135);
    assert_eq!(from_debug("B"), 95);
    assert_eq!(from_debug("C"), 119);
    assert_eq!(from_debug("D"), 15);
    assert_eq!(from_debug("E"), 39);
    assert_eq!(from_debug("F"), 240);
    assert_eq!(from_debug("G"), 175);
    assert_eq!(from_debug("H"), 119);
    assert_eq!(from_debug("I"), 95);
    assert_eq!(from_debug("J"), 39);
    assert_eq!(from_debug("K"), 15);
    assert_eq!(from_debug("L"), 136);
    assert_eq!(from_debug("M"), 215);
    assert_eq!(from_debug("N"), 15);
    assert_eq!(from_debug("O"), 39);
    assert_eq!(from_debug("P"), 95);
    assert_eq!(from_debug("Q"), 119);
    assert_eq!(from_debug("R"), 160);
    assert_eq!(from_debug("S"), 255);
    assert_eq!(from_debug("T"), 39);
    assert_eq!(from_debug("U"), 15);
    assert_eq!(from_debug("V"), 119);
    assert_eq!(from_debug("W"), 95);
    assert_eq!(from_debug("X"), 135);
    assert_eq!(from_debug("Y"), 216);
    assert_eq!(from_debug("Z"), 0);
}

#[test]
fn test_from_debug_number_0_to_255() {
    assert_eq!(from_debug(0), 120);
    assert_eq!(from_debug(1), 80);
    assert_eq!(from_debug(2), 40);
    assert_eq!(from_debug(3), 0);
    assert_eq!(from_debug(4), 95);
    assert_eq!(from_debug(5), 0);
    assert_eq!(from_debug(6), 216);
    assert_eq!(from_debug(7), 240);
    assert_eq!(from_debug(8), 136);
    assert_eq!(from_debug(9), 160);
    assert_eq!(from_debug(10), 40);
    assert_eq!(from_debug(11), 0);
    assert_eq!(from_debug(12), 120);
    assert_eq!(from_debug(13), 80);
    assert_eq!(from_debug(14), 15);
    assert_eq!(from_debug(15), 80);
    assert_eq!(from_debug(16), 136);
    assert_eq!(from_debug(17), 160);
    assert_eq!(from_debug(18), 216);
    assert_eq!(from_debug(19), 240);
    assert_eq!(from_debug(20), 80);
    assert_eq!(from_debug(21), 120);
    assert_eq!(from_debug(22), 0);
    assert_eq!(from_debug(23), 40);
    assert_eq!(from_debug(24), 119);
    assert_eq!(from_debug(25), 40);
    assert_eq!(from_debug(26), 240);
    assert_eq!(from_debug(27), 216);
    assert_eq!(from_debug(28), 160);
    assert_eq!(from_debug(29), 136);
    assert_eq!(from_debug(30), 120);
    assert_eq!(from_debug(31), 80);
    assert_eq!(from_debug(32), 40);
    assert_eq!(from_debug(33), 0);
    assert_eq!(from_debug(34), 95);
    assert_eq!(from_debug(35), 0);
    assert_eq!(from_debug(36), 216);
    assert_eq!(from_debug(37), 240);
    assert_eq!(from_debug(38), 136);
    assert_eq!(from_debug(39), 160);
    assert_eq!(from_debug(40), 39);
    assert_eq!(from_debug(41), 15);
    assert_eq!(from_debug(42), 119);
    assert_eq!(from_debug(43), 95);
    assert_eq!(from_debug(44), 0);
    assert_eq!(from_debug(45), 95);
    assert_eq!(from_debug(46), 135);
    assert_eq!(from_debug(47), 175);
    assert_eq!(from_debug(48), 215);
    assert_eq!(from_debug(49), 255);
    assert_eq!(from_debug(50), 120);
    assert_eq!(from_debug(51), 80);
    assert_eq!(from_debug(52), 40);
    assert_eq!(from_debug(53), 0);
    assert_eq!(from_debug(54), 95);
    assert_eq!(from_debug(55), 0);
    assert_eq!(from_debug(56), 216);
    assert_eq!(from_debug(57), 240);
    assert_eq!(from_debug(58), 136);
    assert_eq!(from_debug(59), 160);
    assert_eq!(from_debug(60), 160);
    assert_eq!(from_debug(61), 136);
    assert_eq!(from_debug(62), 240);
    assert_eq!(from_debug(63), 216);
    assert_eq!(from_debug(64), 135);
    assert_eq!(from_debug(65), 216);
    assert_eq!(from_debug(66), 0);
    assert_eq!(from_debug(67), 40);
    assert_eq!(from_debug(68), 80);
    assert_eq!(from_debug(69), 120);
    assert_eq!(from_debug(70), 136);
    assert_eq!(from_debug(71), 160);
    assert_eq!(from_debug(72), 216);
    assert_eq!(from_debug(73), 240);
    assert_eq!(from_debug(74), 175);
    assert_eq!(from_debug(75), 240);
    assert_eq!(from_debug(76), 40);
    assert_eq!(from_debug(77), 0);
    assert_eq!(from_debug(78), 120);
    assert_eq!(from_debug(79), 80);
    assert_eq!(from_debug(80), 240);
    assert_eq!(from_debug(81), 216);
    assert_eq!(from_debug(82), 160);
    assert_eq!(from_debug(83), 136);
    assert_eq!(from_debug(84), 215);
    assert_eq!(from_debug(85), 136);
    assert_eq!(from_debug(86), 80);
    assert_eq!(from_debug(87), 120);
    assert_eq!(from_debug(88), 0);
    assert_eq!(from_debug(89), 40);
    assert_eq!(from_debug(90), 216);
    assert_eq!(from_debug(91), 240);
    assert_eq!(from_debug(92), 136);
    assert_eq!(from_debug(93), 160);
    assert_eq!(from_debug(94), 255);
    assert_eq!(from_debug(95), 160);
    assert_eq!(from_debug(96), 120);
    assert_eq!(from_debug(97), 80);
    assert_eq!(from_debug(98), 40);
    assert_eq!(from_debug(99), 0);
    assert_eq!(from_debug(100), 80);
    assert_eq!(from_debug(101), 120);
    assert_eq!(from_debug(102), 0);
    assert_eq!(from_debug(103), 40);
    assert_eq!(from_debug(104), 119);
    assert_eq!(from_debug(105), 40);
    assert_eq!(from_debug(106), 240);
    assert_eq!(from_debug(107), 216);
    assert_eq!(from_debug(108), 160);
    assert_eq!(from_debug(109), 136);
    assert_eq!(from_debug(110), 120);
    assert_eq!(from_debug(111), 80);
    assert_eq!(from_debug(112), 40);
    assert_eq!(from_debug(113), 0);
    assert_eq!(from_debug(114), 95);
    assert_eq!(from_debug(115), 0);
    assert_eq!(from_debug(116), 216);
    assert_eq!(from_debug(117), 240);
    assert_eq!(from_debug(118), 136);
    assert_eq!(from_debug(119), 160);
    assert_eq!(from_debug(120), 0);
    assert_eq!(from_debug(121), 40);
    assert_eq!(from_debug(122), 80);
    assert_eq!(from_debug(123), 120);
    assert_eq!(from_debug(124), 39);
    assert_eq!(from_debug(125), 120);
    assert_eq!(from_debug(126), 160);
    assert_eq!(from_debug(127), 136);
    assert_eq!(from_debug(128), 240);
    assert_eq!(from_debug(129), 216);
    assert_eq!(from_debug(130), 40);
    assert_eq!(from_debug(131), 0);
    assert_eq!(from_debug(132), 120);
    assert_eq!(from_debug(133), 80);
    assert_eq!(from_debug(134), 15);
    assert_eq!(from_debug(135), 80);
    assert_eq!(from_debug(136), 136);
    assert_eq!(from_debug(137), 160);
    assert_eq!(from_debug(138), 216);
    assert_eq!(from_debug(139), 240);
    assert_eq!(from_debug(140), 119);
    assert_eq!(from_debug(141), 95);
    assert_eq!(from_debug(142), 39);
    assert_eq!(from_debug(143), 15);
    assert_eq!(from_debug(144), 80);
    assert_eq!(from_debug(145), 15);
    assert_eq!(from_debug(146), 215);
    assert_eq!(from_debug(147), 255);
    assert_eq!(from_debug(148), 135);
    assert_eq!(from_debug(149), 175);
    assert_eq!(from_debug(150), 40);
    assert_eq!(from_debug(151), 0);
    assert_eq!(from_debug(152), 120);
    assert_eq!(from_debug(153), 80);
    assert_eq!(from_debug(154), 15);
    assert_eq!(from_debug(155), 80);
    assert_eq!(from_debug(156), 136);
    assert_eq!(from_debug(157), 160);
    assert_eq!(from_debug(158), 216);
    assert_eq!(from_debug(159), 240);
    assert_eq!(from_debug(160), 240);
    assert_eq!(from_debug(161), 216);
    assert_eq!(from_debug(162), 160);
    assert_eq!(from_debug(163), 136);
    assert_eq!(from_debug(164), 215);
    assert_eq!(from_debug(165), 136);
    assert_eq!(from_debug(166), 80);
    assert_eq!(from_debug(167), 120);
    assert_eq!(from_debug(168), 0);
    assert_eq!(from_debug(169), 40);
    assert_eq!(from_debug(170), 216);
    assert_eq!(from_debug(171), 240);
    assert_eq!(from_debug(172), 136);
    assert_eq!(from_debug(173), 160);
    assert_eq!(from_debug(174), 255);
    assert_eq!(from_debug(175), 160);
    assert_eq!(from_debug(176), 120);
    assert_eq!(from_debug(177), 80);
    assert_eq!(from_debug(178), 40);
    assert_eq!(from_debug(179), 0);
    assert_eq!(from_debug(180), 160);
    assert_eq!(from_debug(181), 136);
    assert_eq!(from_debug(182), 240);
    assert_eq!(from_debug(183), 216);
    assert_eq!(from_debug(184), 135);
    assert_eq!(from_debug(185), 216);
    assert_eq!(from_debug(186), 0);
    assert_eq!(from_debug(187), 40);
    assert_eq!(from_debug(188), 80);
    assert_eq!(from_debug(189), 120);
    assert_eq!(from_debug(190), 136);
    assert_eq!(from_debug(191), 160);
    assert_eq!(from_debug(192), 216);
    assert_eq!(from_debug(193), 240);
    assert_eq!(from_debug(194), 175);
    assert_eq!(from_debug(195), 240);
    assert_eq!(from_debug(196), 40);
    assert_eq!(from_debug(197), 0);
    assert_eq!(from_debug(198), 120);
    assert_eq!(from_debug(199), 80);
    assert_eq!(from_debug(200), 40);
    assert_eq!(from_debug(201), 0);
    assert_eq!(from_debug(202), 120);
    assert_eq!(from_debug(203), 80);
    assert_eq!(from_debug(204), 15);
    assert_eq!(from_debug(205), 80);
    assert_eq!(from_debug(206), 136);
    assert_eq!(from_debug(207), 160);
    assert_eq!(from_debug(208), 216);
    assert_eq!(from_debug(209), 240);
    assert_eq!(from_debug(210), 0);
    assert_eq!(from_debug(211), 40);
    assert_eq!(from_debug(212), 80);
    assert_eq!(from_debug(213), 120);
    assert_eq!(from_debug(214), 39);
    assert_eq!(from_debug(215), 120);
    assert_eq!(from_debug(216), 160);
    assert_eq!(from_debug(217), 136);
    assert_eq!(from_debug(218), 240);
    assert_eq!(from_debug(219), 216);
    assert_eq!(from_debug(220), 120);
    assert_eq!(from_debug(221), 80);
    assert_eq!(from_debug(222), 40);
    assert_eq!(from_debug(223), 0);
    assert_eq!(from_debug(224), 95);
    assert_eq!(from_debug(225), 0);
    assert_eq!(from_debug(226), 216);
    assert_eq!(from_debug(227), 240);
    assert_eq!(from_debug(228), 136);
    assert_eq!(from_debug(229), 160);
    assert_eq!(from_debug(230), 80);
    assert_eq!(from_debug(231), 120);
    assert_eq!(from_debug(232), 0);
    assert_eq!(from_debug(233), 40);
    assert_eq!(from_debug(234), 119);
    assert_eq!(from_debug(235), 40);
    assert_eq!(from_debug(236), 240);
    assert_eq!(from_debug(237), 216);
    assert_eq!(from_debug(238), 160);
    assert_eq!(from_debug(239), 136);
    assert_eq!(from_debug(240), 15);
    assert_eq!(from_debug(241), 39);
    assert_eq!(from_debug(242), 95);
    assert_eq!(from_debug(243), 119);
    assert_eq!(from_debug(244), 40);
    assert_eq!(from_debug(245), 119);
    assert_eq!(from_debug(246), 175);
    assert_eq!(from_debug(247), 135);
    assert_eq!(from_debug(248), 255);
    assert_eq!(from_debug(249), 215);
    assert_eq!(from_debug(250), 80);
    assert_eq!(from_debug(251), 120);
    assert_eq!(from_debug(252), 0);
    assert_eq!(from_debug(253), 40);
    assert_eq!(from_debug(254), 119);
    assert_eq!(from_debug(255), 40);
}

#[test]
fn test_from_debug_number_string_0_to_255() {
    assert_eq!(from_debug("0"), 120);
    assert_eq!(from_debug("1"), 80);
    assert_eq!(from_debug("2"), 40);
    assert_eq!(from_debug("3"), 0);
    assert_eq!(from_debug("4"), 95);
    assert_eq!(from_debug("5"), 0);
    assert_eq!(from_debug("6"), 216);
    assert_eq!(from_debug("7"), 240);
    assert_eq!(from_debug("8"), 136);
    assert_eq!(from_debug("9"), 160);
    assert_eq!(from_debug("10"), 40);
    assert_eq!(from_debug("11"), 0);
    assert_eq!(from_debug("12"), 120);
    assert_eq!(from_debug("13"), 80);
    assert_eq!(from_debug("14"), 15);
    assert_eq!(from_debug("15"), 80);
    assert_eq!(from_debug("16"), 136);
    assert_eq!(from_debug("17"), 160);
    assert_eq!(from_debug("18"), 216);
    assert_eq!(from_debug("19"), 240);
    assert_eq!(from_debug("20"), 80);
    assert_eq!(from_debug("21"), 120);
    assert_eq!(from_debug("22"), 0);
    assert_eq!(from_debug("23"), 40);
    assert_eq!(from_debug("24"), 119);
    assert_eq!(from_debug("25"), 40);
    assert_eq!(from_debug("26"), 240);
    assert_eq!(from_debug("27"), 216);
    assert_eq!(from_debug("28"), 160);
    assert_eq!(from_debug("29"), 136);
    assert_eq!(from_debug("30"), 120);
    assert_eq!(from_debug("31"), 80);
    assert_eq!(from_debug("32"), 40);
    assert_eq!(from_debug("33"), 0);
    assert_eq!(from_debug("34"), 95);
    assert_eq!(from_debug("35"), 0);
    assert_eq!(from_debug("36"), 216);
    assert_eq!(from_debug("37"), 240);
    assert_eq!(from_debug("38"), 136);
    assert_eq!(from_debug("39"), 160);
    assert_eq!(from_debug("40"), 39);
    assert_eq!(from_debug("41"), 15);
    assert_eq!(from_debug("42"), 119);
    assert_eq!(from_debug("43"), 95);
    assert_eq!(from_debug("44"), 0);
    assert_eq!(from_debug("45"), 95);
    assert_eq!(from_debug("46"), 135);
    assert_eq!(from_debug("47"), 175);
    assert_eq!(from_debug("48"), 215);
    assert_eq!(from_debug("49"), 255);
    assert_eq!(from_debug("50"), 120);
    assert_eq!(from_debug("51"), 80);
    assert_eq!(from_debug("52"), 40);
    assert_eq!(from_debug("53"), 0);
    assert_eq!(from_debug("54"), 95);
    assert_eq!(from_debug("55"), 0);
    assert_eq!(from_debug("56"), 216);
    assert_eq!(from_debug("57"), 240);
    assert_eq!(from_debug("58"), 136);
    assert_eq!(from_debug("59"), 160);
    assert_eq!(from_debug("60"), 160);
    assert_eq!(from_debug("61"), 136);
    assert_eq!(from_debug("62"), 240);
    assert_eq!(from_debug("63"), 216);
    assert_eq!(from_debug("64"), 135);
    assert_eq!(from_debug("65"), 216);
    assert_eq!(from_debug("66"), 0);
    assert_eq!(from_debug("67"), 40);
    assert_eq!(from_debug("68"), 80);
    assert_eq!(from_debug("69"), 120);
    assert_eq!(from_debug("70"), 136);
    assert_eq!(from_debug("71"), 160);
    assert_eq!(from_debug("72"), 216);
    assert_eq!(from_debug("73"), 240);
    assert_eq!(from_debug("74"), 175);
    assert_eq!(from_debug("75"), 240);
    assert_eq!(from_debug("76"), 40);
    assert_eq!(from_debug("77"), 0);
    assert_eq!(from_debug("78"), 120);
    assert_eq!(from_debug("79"), 80);
    assert_eq!(from_debug("80"), 240);
    assert_eq!(from_debug("81"), 216);
    assert_eq!(from_debug("82"), 160);
    assert_eq!(from_debug("83"), 136);
    assert_eq!(from_debug("84"), 215);
    assert_eq!(from_debug("85"), 136);
    assert_eq!(from_debug("86"), 80);
    assert_eq!(from_debug("87"), 120);
    assert_eq!(from_debug("88"), 0);
    assert_eq!(from_debug("89"), 40);
    assert_eq!(from_debug("90"), 216);
    assert_eq!(from_debug("91"), 240);
    assert_eq!(from_debug("92"), 136);
    assert_eq!(from_debug("93"), 160);
    assert_eq!(from_debug("94"), 255);
    assert_eq!(from_debug("95"), 160);
    assert_eq!(from_debug("96"), 120);
    assert_eq!(from_debug("97"), 80);
    assert_eq!(from_debug("98"), 40);
    assert_eq!(from_debug("99"), 0);
    assert_eq!(from_debug("100"), 80);
    assert_eq!(from_debug("101"), 120);
    assert_eq!(from_debug("102"), 0);
    assert_eq!(from_debug("103"), 40);
    assert_eq!(from_debug("104"), 119);
    assert_eq!(from_debug("105"), 40);
    assert_eq!(from_debug("106"), 240);
    assert_eq!(from_debug("107"), 216);
    assert_eq!(from_debug("108"), 160);
    assert_eq!(from_debug("109"), 136);
    assert_eq!(from_debug("110"), 120);
    assert_eq!(from_debug("111"), 80);
    assert_eq!(from_debug("112"), 40);
    assert_eq!(from_debug("113"), 0);
    assert_eq!(from_debug("114"), 95);
    assert_eq!(from_debug("115"), 0);
    assert_eq!(from_debug("116"), 216);
    assert_eq!(from_debug("117"), 240);
    assert_eq!(from_debug("118"), 136);
    assert_eq!(from_debug("119"), 160);
    assert_eq!(from_debug("120"), 0);
    assert_eq!(from_debug("121"), 40);
    assert_eq!(from_debug("122"), 80);
    assert_eq!(from_debug("123"), 120);
    assert_eq!(from_debug("124"), 39);
    assert_eq!(from_debug("125"), 120);
    assert_eq!(from_debug("126"), 160);
    assert_eq!(from_debug("127"), 136);
    assert_eq!(from_debug("128"), 240);
    assert_eq!(from_debug("129"), 216);
    assert_eq!(from_debug("130"), 40);
    assert_eq!(from_debug("131"), 0);
    assert_eq!(from_debug("132"), 120);
    assert_eq!(from_debug("133"), 80);
    assert_eq!(from_debug("134"), 15);
    assert_eq!(from_debug("135"), 80);
    assert_eq!(from_debug("136"), 136);
    assert_eq!(from_debug("137"), 160);
    assert_eq!(from_debug("138"), 216);
    assert_eq!(from_debug("139"), 240);
    assert_eq!(from_debug("140"), 119);
    assert_eq!(from_debug("141"), 95);
    assert_eq!(from_debug("142"), 39);
    assert_eq!(from_debug("143"), 15);
    assert_eq!(from_debug("144"), 80);
    assert_eq!(from_debug("145"), 15);
    assert_eq!(from_debug("146"), 215);
    assert_eq!(from_debug("147"), 255);
    assert_eq!(from_debug("148"), 135);
    assert_eq!(from_debug("149"), 175);
    assert_eq!(from_debug("150"), 40);
    assert_eq!(from_debug("151"), 0);
    assert_eq!(from_debug("152"), 120);
    assert_eq!(from_debug("153"), 80);
    assert_eq!(from_debug("154"), 15);
    assert_eq!(from_debug("155"), 80);
    assert_eq!(from_debug("156"), 136);
    assert_eq!(from_debug("157"), 160);
    assert_eq!(from_debug("158"), 216);
    assert_eq!(from_debug("159"), 240);
    assert_eq!(from_debug("160"), 240);
    assert_eq!(from_debug("161"), 216);
    assert_eq!(from_debug("162"), 160);
    assert_eq!(from_debug("163"), 136);
    assert_eq!(from_debug("164"), 215);
    assert_eq!(from_debug("165"), 136);
    assert_eq!(from_debug("166"), 80);
    assert_eq!(from_debug("167"), 120);
    assert_eq!(from_debug("168"), 0);
    assert_eq!(from_debug("169"), 40);
    assert_eq!(from_debug("170"), 216);
    assert_eq!(from_debug("171"), 240);
    assert_eq!(from_debug("172"), 136);
    assert_eq!(from_debug("173"), 160);
    assert_eq!(from_debug("174"), 255);
    assert_eq!(from_debug("175"), 160);
    assert_eq!(from_debug("176"), 120);
    assert_eq!(from_debug("177"), 80);
    assert_eq!(from_debug("178"), 40);
    assert_eq!(from_debug("179"), 0);
    assert_eq!(from_debug("180"), 160);
    assert_eq!(from_debug("181"), 136);
    assert_eq!(from_debug("182"), 240);
    assert_eq!(from_debug("183"), 216);
    assert_eq!(from_debug("184"), 135);
    assert_eq!(from_debug("185"), 216);
    assert_eq!(from_debug("186"), 0);
    assert_eq!(from_debug("187"), 40);
    assert_eq!(from_debug("188"), 80);
    assert_eq!(from_debug("189"), 120);
    assert_eq!(from_debug("190"), 136);
    assert_eq!(from_debug("191"), 160);
    assert_eq!(from_debug("192"), 216);
    assert_eq!(from_debug("193"), 240);
    assert_eq!(from_debug("194"), 175);
    assert_eq!(from_debug("195"), 240);
    assert_eq!(from_debug("196"), 40);
    assert_eq!(from_debug("197"), 0);
    assert_eq!(from_debug("198"), 120);
    assert_eq!(from_debug("199"), 80);
    assert_eq!(from_debug("200"), 40);
    assert_eq!(from_debug("201"), 0);
    assert_eq!(from_debug("202"), 120);
    assert_eq!(from_debug("203"), 80);
    assert_eq!(from_debug("204"), 15);
    assert_eq!(from_debug("205"), 80);
    assert_eq!(from_debug("206"), 136);
    assert_eq!(from_debug("207"), 160);
    assert_eq!(from_debug("208"), 216);
    assert_eq!(from_debug("209"), 240);
    assert_eq!(from_debug("210"), 0);
    assert_eq!(from_debug("211"), 40);
    assert_eq!(from_debug("212"), 80);
    assert_eq!(from_debug("213"), 120);
    assert_eq!(from_debug("214"), 39);
    assert_eq!(from_debug("215"), 120);
    assert_eq!(from_debug("216"), 160);
    assert_eq!(from_debug("217"), 136);
    assert_eq!(from_debug("218"), 240);
    assert_eq!(from_debug("219"), 216);
    assert_eq!(from_debug("220"), 120);
    assert_eq!(from_debug("221"), 80);
    assert_eq!(from_debug("222"), 40);
    assert_eq!(from_debug("223"), 0);
    assert_eq!(from_debug("224"), 95);
    assert_eq!(from_debug("225"), 0);
    assert_eq!(from_debug("226"), 216);
    assert_eq!(from_debug("227"), 240);
    assert_eq!(from_debug("228"), 136);
    assert_eq!(from_debug("229"), 160);
    assert_eq!(from_debug("230"), 80);
    assert_eq!(from_debug("231"), 120);
    assert_eq!(from_debug("232"), 0);
    assert_eq!(from_debug("233"), 40);
    assert_eq!(from_debug("234"), 119);
    assert_eq!(from_debug("235"), 40);
    assert_eq!(from_debug("236"), 240);
    assert_eq!(from_debug("237"), 216);
    assert_eq!(from_debug("238"), 160);
    assert_eq!(from_debug("239"), 136);
    assert_eq!(from_debug("240"), 15);
    assert_eq!(from_debug("241"), 39);
    assert_eq!(from_debug("242"), 95);
    assert_eq!(from_debug("243"), 119);
    assert_eq!(from_debug("244"), 40);
    assert_eq!(from_debug("245"), 119);
    assert_eq!(from_debug("246"), 175);
    assert_eq!(from_debug("247"), 135);
    assert_eq!(from_debug("248"), 255);
    assert_eq!(from_debug("249"), 215);
    assert_eq!(from_debug("250"), 80);
    assert_eq!(from_debug("251"), 120);
    assert_eq!(from_debug("252"), 0);
    assert_eq!(from_debug("253"), 40);
    assert_eq!(from_debug("254"), 119);
    assert_eq!(from_debug("255"), 40);
}




#[test]
fn test_from_debug_number_string_0x00_to_0xff() {
    assert_eq!(from_debug("0x0"), 255);
    assert_eq!(from_debug("0x1"), 215);
    assert_eq!(from_debug("0x2"), 175);
    assert_eq!(from_debug("0x3"), 135);
    assert_eq!(from_debug("0x4"), 216);
    assert_eq!(from_debug("0x5"), 135);
    assert_eq!(from_debug("0x6"), 95);
    assert_eq!(from_debug("0x7"), 119);
    assert_eq!(from_debug("0x8"), 15);
    assert_eq!(from_debug("0x9"), 39);
    assert_eq!(from_debug("0xa"), 240);
    assert_eq!(from_debug("0xb"), 136);
    assert_eq!(from_debug("0xc"), 160);
    assert_eq!(from_debug("0xd"), 135);
    assert_eq!(from_debug("0xe"), 216);
    assert_eq!(from_debug("0xf"), 0);
    assert_eq!(from_debug("0x10"), 175);
    assert_eq!(from_debug("0x11"), 135);
    assert_eq!(from_debug("0x12"), 255);
    assert_eq!(from_debug("0x13"), 215);
    assert_eq!(from_debug("0x14"), 136);
    assert_eq!(from_debug("0x15"), 215);
    assert_eq!(from_debug("0x16"), 15);
    assert_eq!(from_debug("0x17"), 39);
    assert_eq!(from_debug("0x18"), 95);
    assert_eq!(from_debug("0x19"), 119);
    assert_eq!(from_debug("0x1a"), 160);
    assert_eq!(from_debug("0x1b"), 216);
    assert_eq!(from_debug("0x1c"), 240);
    assert_eq!(from_debug("0x1d"), 215);
    assert_eq!(from_debug("0x1e"), 136);
    assert_eq!(from_debug("0x1f"), 80);
    assert_eq!(from_debug("0x20"), 215);
    assert_eq!(from_debug("0x21"), 255);
    assert_eq!(from_debug("0x22"), 135);
    assert_eq!(from_debug("0x23"), 175);
    assert_eq!(from_debug("0x24"), 240);
    assert_eq!(from_debug("0x25"), 175);
    assert_eq!(from_debug("0x26"), 119);
    assert_eq!(from_debug("0x27"), 95);
    assert_eq!(from_debug("0x28"), 39);
    assert_eq!(from_debug("0x29"), 15);
    assert_eq!(from_debug("0x2a"), 216);
    assert_eq!(from_debug("0x2b"), 160);
    assert_eq!(from_debug("0x2c"), 136);
    assert_eq!(from_debug("0x2d"), 175);
    assert_eq!(from_debug("0x2e"), 240);
    assert_eq!(from_debug("0x2f"), 40);
    assert_eq!(from_debug("0x30"), 255);
    assert_eq!(from_debug("0x31"), 215);
    assert_eq!(from_debug("0x32"), 175);
    assert_eq!(from_debug("0x33"), 135);
    assert_eq!(from_debug("0x34"), 216);
    assert_eq!(from_debug("0x35"), 135);
    assert_eq!(from_debug("0x36"), 95);
    assert_eq!(from_debug("0x37"), 119);
    assert_eq!(from_debug("0x38"), 15);
    assert_eq!(from_debug("0x39"), 39);
    assert_eq!(from_debug("0x3a"), 240);
    assert_eq!(from_debug("0x3b"), 136);
    assert_eq!(from_debug("0x3c"), 160);
    assert_eq!(from_debug("0x3d"), 135);
    assert_eq!(from_debug("0x3e"), 216);
    assert_eq!(from_debug("0x3f"), 0);
    assert_eq!(from_debug("0x40"), 160);
    assert_eq!(from_debug("0x41"), 136);
    assert_eq!(from_debug("0x42"), 240);
    assert_eq!(from_debug("0x43"), 216);
    assert_eq!(from_debug("0x44"), 135);
    assert_eq!(from_debug("0x45"), 216);
    assert_eq!(from_debug("0x46"), 0);
    assert_eq!(from_debug("0x47"), 40);
    assert_eq!(from_debug("0x48"), 80);
    assert_eq!(from_debug("0x49"), 120);
    assert_eq!(from_debug("0x4a"), 175);
    assert_eq!(from_debug("0x4b"), 215);
    assert_eq!(from_debug("0x4c"), 255);
    assert_eq!(from_debug("0x4d"), 216);
    assert_eq!(from_debug("0x4e"), 135);
    assert_eq!(from_debug("0x4f"), 95);
    assert_eq!(from_debug("0x50"), 255);
    assert_eq!(from_debug("0x51"), 215);
    assert_eq!(from_debug("0x52"), 175);
    assert_eq!(from_debug("0x53"), 135);
    assert_eq!(from_debug("0x54"), 216);
    assert_eq!(from_debug("0x55"), 135);
    assert_eq!(from_debug("0x56"), 95);
    assert_eq!(from_debug("0x57"), 119);
    assert_eq!(from_debug("0x58"), 15);
    assert_eq!(from_debug("0x59"), 39);
    assert_eq!(from_debug("0x5a"), 240);
    assert_eq!(from_debug("0x5b"), 136);
    assert_eq!(from_debug("0x5c"), 160);
    assert_eq!(from_debug("0x5d"), 135);
    assert_eq!(from_debug("0x5e"), 216);
    assert_eq!(from_debug("0x5f"), 0);
    assert_eq!(from_debug("0x60"), 39);
    assert_eq!(from_debug("0x61"), 15);
    assert_eq!(from_debug("0x62"), 119);
    assert_eq!(from_debug("0x63"), 95);
    assert_eq!(from_debug("0x64"), 0);
    assert_eq!(from_debug("0x65"), 95);
    assert_eq!(from_debug("0x66"), 135);
    assert_eq!(from_debug("0x67"), 175);
    assert_eq!(from_debug("0x68"), 215);
    assert_eq!(from_debug("0x69"), 255);
    assert_eq!(from_debug("0x6a"), 40);
    assert_eq!(from_debug("0x6b"), 80);
    assert_eq!(from_debug("0x6c"), 120);
    assert_eq!(from_debug("0x6d"), 95);
    assert_eq!(from_debug("0x6e"), 0);
    assert_eq!(from_debug("0x6f"), 216);
    assert_eq!(from_debug("0x70"), 15);
    assert_eq!(from_debug("0x71"), 39);
    assert_eq!(from_debug("0x72"), 95);
    assert_eq!(from_debug("0x73"), 119);
    assert_eq!(from_debug("0x74"), 40);
    assert_eq!(from_debug("0x75"), 119);
    assert_eq!(from_debug("0x76"), 175);
    assert_eq!(from_debug("0x77"), 135);
    assert_eq!(from_debug("0x78"), 255);
    assert_eq!(from_debug("0x79"), 215);
    assert_eq!(from_debug("0x7a"), 0);
    assert_eq!(from_debug("0x7b"), 120);
    assert_eq!(from_debug("0x7c"), 80);
    assert_eq!(from_debug("0x7d"), 119);
    assert_eq!(from_debug("0x7e"), 40);
    assert_eq!(from_debug("0x7f"), 240);
    assert_eq!(from_debug("0x80"), 119);
    assert_eq!(from_debug("0x81"), 95);
    assert_eq!(from_debug("0x82"), 39);
    assert_eq!(from_debug("0x83"), 15);
    assert_eq!(from_debug("0x84"), 80);
    assert_eq!(from_debug("0x85"), 15);
    assert_eq!(from_debug("0x86"), 215);
    assert_eq!(from_debug("0x87"), 255);
    assert_eq!(from_debug("0x88"), 135);
    assert_eq!(from_debug("0x89"), 175);
    assert_eq!(from_debug("0x8a"), 120);
    assert_eq!(from_debug("0x8b"), 0);
    assert_eq!(from_debug("0x8c"), 40);
    assert_eq!(from_debug("0x8d"), 15);
    assert_eq!(from_debug("0x8e"), 80);
    assert_eq!(from_debug("0x8f"), 136);
    assert_eq!(from_debug("0x90"), 95);
    assert_eq!(from_debug("0x91"), 119);
    assert_eq!(from_debug("0x92"), 15);
    assert_eq!(from_debug("0x93"), 39);
    assert_eq!(from_debug("0x94"), 120);
    assert_eq!(from_debug("0x95"), 39);
    assert_eq!(from_debug("0x96"), 255);
    assert_eq!(from_debug("0x97"), 215);
    assert_eq!(from_debug("0x98"), 175);
    assert_eq!(from_debug("0x99"), 135);
    assert_eq!(from_debug("0x9a"), 80);
    assert_eq!(from_debug("0x9b"), 40);
    assert_eq!(from_debug("0x9c"), 0);
    assert_eq!(from_debug("0x9d"), 39);
    assert_eq!(from_debug("0x9e"), 120);
    assert_eq!(from_debug("0x9f"), 160);
    assert_eq!(from_debug("0xa0"), 136);
    assert_eq!(from_debug("0xa1"), 160);
    assert_eq!(from_debug("0xa2"), 216);
    assert_eq!(from_debug("0xa3"), 240);
    assert_eq!(from_debug("0xa4"), 175);
    assert_eq!(from_debug("0xa5"), 240);
    assert_eq!(from_debug("0xa6"), 40);
    assert_eq!(from_debug("0xa7"), 0);
    assert_eq!(from_debug("0xa8"), 120);
    assert_eq!(from_debug("0xa9"), 80);
    assert_eq!(from_debug("0xaa"), 135);
    assert_eq!(from_debug("0xab"), 255);
    assert_eq!(from_debug("0xac"), 215);
    assert_eq!(from_debug("0xad"), 240);
    assert_eq!(from_debug("0xae"), 175);
    assert_eq!(from_debug("0xaf"), 119);
    assert_eq!(from_debug("0xb0"), 240);
    assert_eq!(from_debug("0xb1"), 216);
    assert_eq!(from_debug("0xb2"), 160);
    assert_eq!(from_debug("0xb3"), 136);
    assert_eq!(from_debug("0xb4"), 215);
    assert_eq!(from_debug("0xb5"), 136);
    assert_eq!(from_debug("0xb6"), 80);
    assert_eq!(from_debug("0xb7"), 120);
    assert_eq!(from_debug("0xb8"), 0);
    assert_eq!(from_debug("0xb9"), 40);
    assert_eq!(from_debug("0xba"), 255);
    assert_eq!(from_debug("0xbb"), 135);
    assert_eq!(from_debug("0xbc"), 175);
    assert_eq!(from_debug("0xbd"), 136);
    assert_eq!(from_debug("0xbe"), 215);
    assert_eq!(from_debug("0xbf"), 15);
    assert_eq!(from_debug("0xc0"), 216);
    assert_eq!(from_debug("0xc1"), 240);
    assert_eq!(from_debug("0xc2"), 136);
    assert_eq!(from_debug("0xc3"), 160);
    assert_eq!(from_debug("0xc4"), 255);
    assert_eq!(from_debug("0xc5"), 160);
    assert_eq!(from_debug("0xc6"), 120);
    assert_eq!(from_debug("0xc7"), 80);
    assert_eq!(from_debug("0xc8"), 40);
    assert_eq!(from_debug("0xc9"), 0);
    assert_eq!(from_debug("0xca"), 215);
    assert_eq!(from_debug("0xcb"), 175);
    assert_eq!(from_debug("0xcc"), 135);
    assert_eq!(from_debug("0xcd"), 160);
    assert_eq!(from_debug("0xce"), 255);
    assert_eq!(from_debug("0xcf"), 39);
    assert_eq!(from_debug("0xd0"), 255);
    assert_eq!(from_debug("0xd1"), 215);
    assert_eq!(from_debug("0xd2"), 175);
    assert_eq!(from_debug("0xd3"), 135);
    assert_eq!(from_debug("0xd4"), 216);
    assert_eq!(from_debug("0xd5"), 135);
    assert_eq!(from_debug("0xd6"), 95);
    assert_eq!(from_debug("0xd7"), 119);
    assert_eq!(from_debug("0xd8"), 15);
    assert_eq!(from_debug("0xd9"), 39);
    assert_eq!(from_debug("0xda"), 240);
    assert_eq!(from_debug("0xdb"), 136);
    assert_eq!(from_debug("0xdc"), 160);
    assert_eq!(from_debug("0xdd"), 135);
    assert_eq!(from_debug("0xde"), 216);
    assert_eq!(from_debug("0xdf"), 0);
    assert_eq!(from_debug("0xe0"), 160);
    assert_eq!(from_debug("0xe1"), 136);
    assert_eq!(from_debug("0xe2"), 240);
    assert_eq!(from_debug("0xe3"), 216);
    assert_eq!(from_debug("0xe4"), 135);
    assert_eq!(from_debug("0xe5"), 216);
    assert_eq!(from_debug("0xe6"), 0);
    assert_eq!(from_debug("0xe7"), 40);
    assert_eq!(from_debug("0xe8"), 80);
    assert_eq!(from_debug("0xe9"), 120);
    assert_eq!(from_debug("0xea"), 175);
    assert_eq!(from_debug("0xeb"), 215);
    assert_eq!(from_debug("0xec"), 255);
    assert_eq!(from_debug("0xed"), 216);
    assert_eq!(from_debug("0xee"), 135);
    assert_eq!(from_debug("0xef"), 95);
    assert_eq!(from_debug("0xf0"), 120);
    assert_eq!(from_debug("0xf1"), 80);
    assert_eq!(from_debug("0xf2"), 40);
    assert_eq!(from_debug("0xf3"), 0);
    assert_eq!(from_debug("0xf4"), 95);
    assert_eq!(from_debug("0xf5"), 0);
    assert_eq!(from_debug("0xf6"), 216);
    assert_eq!(from_debug("0xf7"), 240);
    assert_eq!(from_debug("0xf8"), 136);
    assert_eq!(from_debug("0xf9"), 160);
    assert_eq!(from_debug("0xfa"), 119);
    assert_eq!(from_debug("0xfb"), 15);
    assert_eq!(from_debug("0xfc"), 39);
    assert_eq!(from_debug("0xfd"), 0);
    assert_eq!(from_debug("0xfe"), 95);
    assert_eq!(from_debug("0xff"), 135);
}