Module talk:Roman/sandbox/testcases

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

All tests passed.

Test 1: _number toRoman toArabic
Text Expected Actual
✓[OK] roman.toArabic(roman._Numeral(0)) 0 0
✓[OK] roman.toArabic(roman._Numeral(5001)) 5001 5001
✓[OK] roman.toArabic(roman._Numeral(7468)) 7468 7468
✓[OK] roman.toArabic(roman._Numeral(10000)) 10000 10000
✓[OK] roman.toArabic(roman._Numeral(12345)) 12345 12345
✓[OK] roman.toArabic(roman._Numeral(13798)) 13798 13798
✓[OK] roman.toArabic(roman._Numeral(21856)) 21856 21856
✓[OK] roman.toArabic(roman._Numeral(123456)) 123456 123456
✓[OK] roman.toArabic(roman._Numeral(1048576)) 1048576 1048576
✓[OK] roman.toArabic(roman._Numeral(4999999999)) 4999999999 4999999999
Test 2: Roman shorter
Text Expected Actual
✓[OK] {{#invoke:Roman/sandbox|Numeral|9999}} I̅X̅CMXCIX I̅X̅CMXCIX
✓[OK] {{#invoke:Roman/sandbox|Numeral|14999}} X̅I̅V̅CMXCIX X̅I̅V̅CMXCIX
✓[OK] {{#invoke:Roman/sandbox|Numeral|34850}} X̅X̅X̅I̅V̅DCCCL X̅X̅X̅I̅V̅DCCCL
Test 3: Roman misc formatting
Text Expected Actual
✓[OK] {{#invoke:Roman/sandbox|Numeral|0}} N N
✓[OK] {{#invoke:Roman/sandbox|Numeral| 1}} I I
✓[OK] {{#invoke:Roman/sandbox|Numeral|04}} IV IV
✓[OK] {{#invoke:Roman/sandbox|Numeral|0004}} IV IV
✓[OK] {{#invoke:Roman/sandbox|Numeral| 04 }} IV IV
✓[OK] {{#invoke:Roman/sandbox|Numeral|5987654321}} 5987654321 5987654321
Test 4: isRoman
Text Expected Actual
✓[OK] roman.isRoman("") false false
✓[OK] roman.isRoman("AbCd") false false
✓[OK] roman.isRoman("第") false false
✓[OK] roman.isRoman("34") false false
✓[OK] roman.isRoman("I") true true
✓[OK] roman.isRoman("ⅩⅣ") true true
✓[OK] roman.isRoman("V̅") true true
Test 5: Roman toArabic
Text Expected Actual
✓[OK] roman.toArabic("") nil nil
✓[OK] roman.toArabic("AbCd") nil nil
✓[OK] roman.toArabic("第") nil nil
✓[OK] roman.toArabic("34") 34 34
✓[OK] roman.toArabic(" I ") 1 1
✓[OK] roman.toArabic("ⅩⅣ") 14 14
✓[OK] roman.toArabic(" V̅ ") 5000 5000
✓[OK] roman.toArabic("I") 1 1
✓[OK] roman.toArabic("II") 2 2
✓[OK] roman.toArabic("IV") 4 4
✓[OK] roman.toArabic("XIV") 14 14
✓[OK] roman.toArabic("XLIX") 49 49
✓[OK] roman.toArabic("L") 50 50
✓[OK] roman.toArabic("LI") 51 51
✓[OK] roman.toArabic("CI") 101 101
✓[OK] roman.toArabic("CCIII") 203 203
✓[OK] roman.toArabic("DX") 510 510
✓[OK] roman.toArabic("CMXCIX") 999 999
✓[OK] roman.toArabic("M") 1000 1000
✓[OK] roman.toArabic("MXXIV") 1024 1024
✓[OK] roman.toArabic("MCMLXXIX") 1979 1979
✓[OK] roman.toArabic("MM") 2000 2000
✓[OK] roman.toArabic("MMXI") 2011 2011
✓[OK] roman.toArabic("MMCMXCIX") 2999 2999
✓[OK] roman.toArabic("MMM") 3000 3000
✓[OK] roman.toArabic("MMMI") 3001 3001
✓[OK] roman.toArabic("MMMMCMLXXXVII") 4987 4987
✓[OK] roman.toArabic("MMMMCMXCIX") 4999 4999
✓[OK] roman.toArabic("V̅") 5000 5000
Test 6: Compare Roman Numeral with old template
Text Expected Actual
✓[OK] {{#invoke:Roman/sandbox|Numeral|1}} I I
✓[OK] {{#invoke:Roman/sandbox|Numeral|2}} II II
✓[OK] {{#invoke:Roman/sandbox|Numeral|49}} XLIX XLIX
✓[OK] {{#invoke:Roman/sandbox|Numeral|50}} L L
✓[OK] {{#invoke:Roman/sandbox|Numeral|51}} LI LI
✓[OK] {{#invoke:Roman/sandbox|Numeral|101}} CI CI
✓[OK] {{#invoke:Roman/sandbox|Numeral|203}} CCIII CCIII
✓[OK] {{#invoke:Roman/sandbox|Numeral|510}} DX DX
✓[OK] {{#invoke:Roman/sandbox|Numeral|999}} CMXCIX CMXCIX
✓[OK] {{#invoke:Roman/sandbox|Numeral|1024}} MXXIV MXXIV
✓[OK] {{#invoke:Roman/sandbox|Numeral|1979}} MCMLXXIX MCMLXXIX
✓[OK] {{#invoke:Roman/sandbox|Numeral|2000}} MM MM
✓[OK] {{#invoke:Roman/sandbox|Numeral|2011}} MMXI MMXI
✓[OK] {{#invoke:Roman/sandbox|Numeral|2999}} MMCMXCIX MMCMXCIX
✓[OK] {{#invoke:Roman/sandbox|Numeral|3000}} MMM MMM
✓[OK] {{#invoke:Roman/sandbox|Numeral|3001}} MMMI MMMI
Test 7: Compare Roman Numeral with old template overlines
Text Expected Actual
⚠[!] {{#invoke:Roman/sandbox|Numeral|4987}} MMMMCMLXXXVII I̅V̅CMLXXXVII
⚠[!] {{#invoke:Roman/sandbox|Numeral|4999}} MMMMCMXCIX I̅V̅CMXCIX
⚠[!] {{#invoke:Roman/sandbox|Numeral|5000}} V
⚠[!] {{#invoke:Roman/sandbox|Numeral|5001}} VI V̅I
⚠[!] {{#invoke:Roman/sandbox|Numeral|7468}} VMMCDLXVIII V̅I̅I̅CDLXVIII
⚠[!] {{#invoke:Roman/sandbox|Numeral|10000}} X
⚠[!] {{#invoke:Roman/sandbox|Numeral|12345}} XMMCCCXLV X̅MMCCCXLV
⚠[!] {{#invoke:Roman/sandbox|Numeral|13798}} XMMMDCCXCVIII X̅MMMDCCXCVIII
⚠[!] {{#invoke:Roman/sandbox|Numeral|21856}} XXMDCCCLVI X̅X̅MDCCCLVI
⚠[!] {{#invoke:Roman/sandbox|Numeral|123456}} CXXMMMCDLVI C̅X̅X̅MMMCDLVI
⚠[!] {{#invoke:Roman/sandbox|Numeral|1048576}} MXLVMMMDLXXVI M̅X̅L̅V̅I̅I̅I̅DLXXVI