FC18: Converted to choco taste pig numbers

This commit is contained in:
Willem Cazander 2025-09-05 16:13:02 +02:00
parent badf68fc25
commit 0699d23c52
25 changed files with 1314 additions and 864 deletions

View file

@ -29,8 +29,8 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.x4o.fc18.FourCornerUnicodeDisplay;
import org.x4o.fc18.zion7.FourCornerZion7Candlelier;
import org.x4o.fc18.zion7.FourCornerZion7NumberGram;
import org.x4o.fc18.zion7.FourCornerZionStenoGrapher;
import org.x4o.fc18.zion7.flame4.FCFlameNumberGram;
/**
* Tests txt grams encoding.
@ -44,7 +44,7 @@ public class FCNumberGramTest {
public void testCut10Simple() throws Exception {
List<Integer> out = new ArrayList<>();
FourCornerZion7Candlelier writer = FourCornerZionStenoGrapher.writerX18(out);
writer.strobeNumberGrams(FourCornerZion7NumberGram.CUT_10, List.of(0,1,2,3,4,5,6,7,8,9));
writer.strobeNumberGrams(FCFlameNumberGram.CUT_10, List.of(0,1,2,3,4,5,6,7,8,9));
String res = FourCornerUnicodeDisplay.text().renderFromInt18(out);
Assertions.assertEquals("0123456789", res);
}
@ -54,16 +54,16 @@ public class FCNumberGramTest {
List<Integer> out = new ArrayList<>();
FourCornerZion7Candlelier writer = FourCornerZionStenoGrapher.writerX18(out);
Assertions.assertThrows(IllegalArgumentException.class, () -> {
writer.strobeNumberGrams(FourCornerZion7NumberGram.CUT_10, List.of(10));
writer.strobeNumberGrams(FCFlameNumberGram.CUT_10, List.of(10));
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
writer.strobeNumberGrams(FourCornerZion7NumberGram.CUT_10, List.of(11));
writer.strobeNumberGrams(FCFlameNumberGram.CUT_10, List.of(11));
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
writer.strobeNumberGrams(FourCornerZion7NumberGram.CUT_10, List.of(-1));
writer.strobeNumberGrams(FCFlameNumberGram.CUT_10, List.of(-1));
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
writer.strobeNumberGrams(FourCornerZion7NumberGram.CUT_1, List.of(1));
writer.strobeNumberGrams(FCFlameNumberGram.CUT_1, List.of(1));
});
}
}

View file

@ -38,6 +38,11 @@ import org.x4o.fc18.cake2.flag4.FCDotF4TTY0001DashNL;
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
import org.x4o.fc18.octal8.PrimordialOctal;
import org.x4o.fc18.octal8.PrimordialOctalOrangeString;
import org.x4o.fc18.zion7.flame4.FCFlameFremanChocoBase8;
import org.x4o.fc18.zion7.flame4.FCFlameFremanLegoBase2;
import org.x4o.fc18.zion7.flame4.FCFlameFremanLegoBase8;
import org.x4o.fc18.zion7.flame4.FCFlameFremanSignedBase2;
import org.x4o.fc18.zion7.flame4.FCFlameNumberTaste;
/**
* Tests four corner grapher parts.
@ -67,55 +72,99 @@ public class StenoGrapherTest {
public void testBASE2Values() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
writerX18.strobeNumberBASE2(FourCornerZion7FremanBase2.SIGNED_0032, BigInteger.valueOf(123));
writerX18.strobeNumberBASE2Lego(FCFlameFremanLegoBase2.LEGO_0032, BigInteger.valueOf(123));
writerX18.strobeTheWord(FCDotCDC1604DashP6.NY09_EQUALS.ordinal());
writerX18.strobeNumberBASE2(FourCornerZion7FremanBase2.SIGNED_0128, BigInteger.valueOf(-123));
writerX18.strobeNumberBASE2Int(FCFlameFremanSignedBase2.SIGNED_0128, true, BigInteger.valueOf(123));
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("123=-123", resX18);
}
@Test
public void testBASE8Values() throws Exception {
public void testBASE8Lego123() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
writerX18.strobeNumberBASE8(FourCornerZion7FremanBase8.SIGNED_0144, BigInteger.valueOf(123));
writerX18.strobeTheWord(FCDotCDC1604DashP6.NY19_MINUS.ordinal());
writerX18.strobeNumberBASE8(FourCornerZion7FremanBase8.SIGNED_0144, new BigInteger("11150372599265311570767859136324180752990207", 10));
writerX18.strobeNumberBASE8(FourCornerZion7FremanBase8.SIGNED_0144, BigInteger.valueOf(-123));
writerX18.strobeNumberBASE8Lego(FCFlameFremanLegoBase8.LEGO_0144, BigInteger.valueOf(123));
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("123-11150372599265311570767859136324180752990207-123", resX18);
Assertions.assertEquals("123", resX18);
}
@Test
public void testDEC576Values() throws Exception {
public void testBASE8Lego123456() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
writerX18.strobeNumberDEC576(BigInteger.valueOf(123), BigInteger.valueOf(456));
writerX18.strobeTheWord(FCDotCDC1604DashP6.NY09_EQUALS.ordinal());
writerX18.strobeNumberDEC576(FourCornerZion7Petroglyphs.DEC576_COEFFICIENT_MAX, FourCornerZion7Petroglyphs.DEC576_EXPONENT_MAX);
writerX18.strobeNumberBASE8Lego(FCFlameFremanLegoBase8.LEGO_0144, BigInteger.valueOf(123456));
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("123*10⁴⁵⁶=26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715007*10²³⁶¹¹⁸³²⁴¹⁴³⁴⁸²²⁶⁰²⁷⁵²", resX18);
Assertions.assertEquals("123456", resX18);
}
@Test
public void testE503M72Values() throws Exception {
public void testBASE8Choco123() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
writerX18.strobeNumberE503M72(true, BigInteger.valueOf(456), BigInteger.valueOf(123));
writerX18.strobeNumberBASE8Choco(FCFlameFremanChocoBase8.CHOCO_0144, FCFlameNumberTaste.NUMBER_POSITIVE, new BigInteger("123", 10));
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("(-1)¹*2⁴⁵⁶⁻¹²⁷*1.123", resX18);
Assertions.assertEquals("123", resX18);
}
@Test
public void testNCRValues() throws Exception {
public void testBASE8Choco123456Neg() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
writerX18.strobeNumberBASE8Choco(FCFlameFremanChocoBase8.CHOCO_0144, FCFlameNumberTaste.NUMBER_NEGATIVE, new BigInteger("123456", 10));
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("-123456", resX18);
}
@Test
public void testBASE8ChocoLarge() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
writerX18.strobeNumberBASE8Choco(FCFlameFremanChocoBase8.CHOCO_0144, FCFlameNumberTaste.NUMBER_POSITIVE, new BigInteger("1393796574908163946345982392040522594123775", 10));
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("1393796574908163946345982392040522594123775", resX18);
}
@Test
public void testBankDecimalValues() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
writerX18.strobeNumberChocoPigDecimal(FCFlameNumberTaste.NUMBER_POSITIVE, false, BigInteger.valueOf(123), BigInteger.valueOf(456));
Assertions.assertEquals(4, outX18.size());
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("(-1)⁰*10¹²³*456", resX18);
}
@Test
public void testBankDecimalValuesMax() throws Exception {
Assertions.assertEquals(284, FourCornerZionStenoPetroglyphs.BIG_BITS_284.toString(2).length());
Assertions.assertEquals(2016, FourCornerZionStenoPetroglyphs.BIG_BITS_2016.toString(2).length());
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
writerX18.strobeNumberChocoPigDecimal(FCFlameNumberTaste.NUMBER_POSITIVE, false, FourCornerZionStenoPetroglyphs.BIG_BITS_284, FourCornerZionStenoPetroglyphs.BIG_BITS_2016);
Assertions.assertEquals(193, outX18.size());
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("(-1)⁰*10¹⁵⁵⁴¹³⁵¹¹³⁷⁸⁰⁵⁸³²⁵⁶⁷³⁵⁵⁶⁹⁵²⁵⁴⁵⁸⁸¹⁵¹²⁵³¹³⁹²⁵⁴⁷¹²⁴¹⁷¹¹⁶¹⁷⁰⁰¹⁴⁴⁹⁹²⁷⁷⁹¹¹²³⁴²⁸¹⁶⁴¹⁶⁶⁷⁹⁸⁵⁴⁰⁷*7524389324549354450012295667238056650488661292408472865850279440061341770661038088891003609523855490537527473858068236032063038821912119420032983735773778315780422968627185582125139830259059580693966159220800634538007951025529707819651368618588002973837229854435730968342995245834129352264002058451047722604571453619205472623157541916371455764131661512732115122042085430429090324954236930736866452001076451671762299658372499364800367306988138217572983729940207496105489713305332746758395131148149101871456611571055068153665866066783899124296271513772531723497342815490725823828326183977758546404902789185535", resX18);
}
@Test
public void testBankFloatValues() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
writerX18.strobeNumberChocoPigFloat(FCFlameNumberTaste.NUMBER_NEGATIVE, false, BigInteger.valueOf(456), BigInteger.valueOf(123));
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("(-1)¹*2⁴⁵⁶*1.123", resX18);
}
@Test
public void testBankRationalValues() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
BigInteger v1 = BigInteger.valueOf(123);
writerX18.strobeNumberNCR1632(BigInteger.ONE, v1);
writerX18.strobeNumberChocoMarriedPigsRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, BigInteger.ONE, v1);
BigInteger v2 = BigInteger.valueOf(12345);
writerX18.strobeNumberNCR1632(BigInteger.ONE, v2);
BigInteger v3 = BigInteger.valueOf(-5432);
writerX18.strobeNumberNCR1632(v3, v3);
writerX18.strobeNumberChocoMarriedPigsRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, BigInteger.ONE, v2);
BigInteger v3 = BigInteger.valueOf(5432);
writerX18.strobeNumberChocoMarriedPigsRational(FCFlameNumberTaste.NUMBER_NEGATIVE, FCFlameNumberTaste.NUMBER_NEGATIVE, v3, v3);
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("¹/₁₂₃¹/₁₂₃₄₅⁻⁵⁴³²/₋₅₄₃₂", resX18);
}
@ -130,7 +179,7 @@ public class StenoGrapherTest {
writerX18.strobeDocumentAlpha();
for (int x = 1; x <= 1025 /*_999999*/; x++) {
BigInteger v = BigInteger.valueOf(x);
writerX18.strobeNumberNCR1632(BigInteger.ONE, v);
writerX18.strobeNumberChocoMarriedPigsRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, BigInteger.ONE, v);
writerX18.strobeTheWord(FCDotF4TTY0001DashNL.NETHER_LINE.cakePointDotIndex());
}
writerX18.strobeDocumentOmega();
@ -150,12 +199,12 @@ public class StenoGrapherTest {
}
@Test
public void testNCRCount1024() throws Exception {
public void testBankRationalCount1024() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
for (int x = 1; x <= 1025; x++) {
BigInteger v = BigInteger.valueOf(x);
writerX18.strobeNumberNCR1632(BigInteger.ONE, v);
writerX18.strobeNumberChocoMarriedPigsRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, BigInteger.ONE, v);
}
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertTrue(resX18.startsWith("¹/₁¹/₂¹/₃"), "missing " + resX18);
@ -164,16 +213,16 @@ public class StenoGrapherTest {
}
@Test
public void testNCRMaxValue() throws Exception {
public void testBankRationalValuesMax() throws Exception {
List<Integer> outX18 = new ArrayList<>();
FourCornerZion7Candlelier writerX18 = FourCornerZionStenoGrapher.writerX18(outX18);
BigInteger maxValue = new BigInteger("7FFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF"+"FFFFFFFFFFFFFFFFFF", 16);
writerX18.strobeNumberNCR1632(maxValue, maxValue);
BigInteger maxValue = FourCornerZionStenoPetroglyphs.BIG_BITS_2300;
writerX18.strobeNumberChocoMarriedPigsRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, maxValue, maxValue);
Assertions.assertThrows(IllegalArgumentException.class, () -> {
writerX18.strobeNumberNCR1632(maxValue, maxValue.add(BigInteger.ONE));
writerX18.strobeNumberChocoMarriedPigsRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, maxValue, maxValue.add(BigInteger.ONE));
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
writerX18.strobeNumberNCR1632(maxValue.add(BigInteger.ONE), maxValue);
writerX18.strobeNumberChocoMarriedPigsRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, maxValue.add(BigInteger.ONE), maxValue);
});
}
}

View file

@ -47,29 +47,27 @@ public class StenoLexerNCRTest {
lexer.withSmokeSignals(smokeReader);
List<Integer> cdc = new ArrayList<>();
cdc.add(FourCornerDotCake.FC_NCR1632_SEL1D.getStart() + (512*3) + 1); /// auto NXX_001
cdc.add(192 + FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart() + 1);
Assertions.assertEquals(0, smokeReader.pipeSmokeClouds);
lexer.read(cdc);
Assertions.assertEquals(1, smokeReader.pipeSmokeClouds);
Assertions.assertEquals("burnNumberNCR1632MissingSparkler", smokeReader.pipeError);
Assertions.assertEquals("burnNumberMissingSparkler:CHOCO_RATIONAL", smokeReader.pipeError);
cdc.addAll(FCDotDEC2701DashPX0.ESC_STOP.baklavaPointSequence());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart() + 123);
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 123);
cdc.addAll(FCDotDEC2701DashPX0.ESC_STOP.baklavaPointSequence());
cdc.addAll(FCDotDEC2701DashPX0.ESC_STOP.baklavaPointSequence()); // the print above auto value + next test
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart() - 1 + 123); // normal NXX_123
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart() + (512*4) + 2); /// auto NXX_123 + this
smokeReader.reset();
lexer.read(cdc);
Assertions.assertEquals(2, smokeReader.pipeSmokeClouds);
cdc.addAll(FCDotDEC2701DashPX0.ESC_STOP.cakePointSequence()); // the print above auto value + next test (normal bank reset)
cdc.add(FourCornerDotCake.FC_NCR1632_SEL1D.getStart() + 11);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL1D.getStart() + (512*3) + 12);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart() + (512*4) + 13);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart() + (512*5) + 14);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart()); // and one which prints
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart() + 123); // normal NXX_123
cdc.addAll(FCDotDEC2701DashPX0.ESC_STOP.cakePointSequence());
cdc.add(192 + FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart() + 11);
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart());
smokeReader.reset();
lexer.read(cdc);
String res = "[0:1:burnNumberNCR1632MissingSparkler][0:8:burnNumberNCR1632MissingSparkler][0:16:burnNumberNCR1632MissingSparkler]";
String res = "[0:1:burnNumberMissingSparkler:CHOCO_RATIONAL][0:8:burnNumberMissingSparkler:CHOCO_RATIONAL][0:16:burnNumberMissingSparkler:CHOCO_RATIONAL]";
Assertions.assertEquals(res, FourCornerUnicodeDisplay.text().renderFromInt18(cdc));
}
@ -79,49 +77,45 @@ public class StenoLexerNCRTest {
cdc.add(FCDotCDC1604DashP6.NX24_X.ordinal()); // = X
cdc.add(FCDotCDC1604DashP6.NY09_EQUALS.ordinal());
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart());
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 11);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL1D.getStart());
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 1);
cdc.add(192 + FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 1);
cdc.add(FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 11);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart());
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 1);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL1D.getStart());
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 1);
cdc.add(192 + FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 1);
cdc.add(FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 1);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart());
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 14);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL1D.getStart());
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 15);
cdc.add(192 + FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 14);
cdc.add(FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 15);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart());
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 123);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL1D.getStart() + 1);
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 1); // 4096
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 1); // +1 = 4097
cdc.add(192 + FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 123);
cdc.add(FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart() + 1);
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 1); // 4096
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 1); // +1 = 4097
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStart());
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 4);
cdc.add(FourCornerDotCake.FC_NCR1632_SEL1D.getStart());
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStart() + 1);
cdc.add(192 + FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 4);
cdc.add(FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStart() + 1);
cdc.add(FCDotCDC1604DashP6.NY14_SEMICOLON.ordinal());
Assertions.assertEquals("X=¹¹/₁¹/₁¹⁴/₁₅¹²³/₄₀₉₇⁴/₁;", FourCornerUnicodeDisplay.text().renderFromInt18(cdc));
Assertions.assertEquals("X=¹/₁¹/₁¹⁴/₁₅¹²³/₄₀₉₇⁴/₁;", FourCornerUnicodeDisplay.text().renderFromInt18(cdc));
}
@Test
public void testNCRLargestF576() throws Exception {
List<Integer> cdc = new ArrayList<>();
cdc.add(FourCornerDotCake.FC_NCR1632_SEL0N.getStop());
for (int i = FourCornerDotCake.FC_NCR1632_SEL0N.getStop(); i >= FourCornerDotCake.FC_NCR1632_SEL0N.getStart(); i--) {
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStop());
cdc.add(FourCornerDotCake.FC_RATIONAL4608_SEL0.getStop());
for (int i = FourCornerDotCake.FC_RATIONAL4608_SEL0.getStop(); i >= FourCornerDotCake.FC_RATIONAL4608_SEL0.getStart(); i--) {
cdc.add(FourCornerDotCake.FC_RATIONAL4608_BANK.getStop());
}
cdc.add(FourCornerDotCake.FC_NCR1632_SEL1D.getStop());
for (int i = FourCornerDotCake.FC_NCR1632_SEL1D.getStop(); i >= FourCornerDotCake.FC_NCR1632_SEL1D.getStart(); i--) {
cdc.add(FourCornerDotCake.FC_NCR1632_BANK.getStop());
}
String resSuper = "⁻¹²³⁶⁶⁵²⁰⁰⁷³⁶⁵⁵²²⁶⁷⁰³⁰²⁵¹²⁶⁰⁵⁰⁹⁸²³⁵⁹⁵⁰¹⁷⁵⁶⁵⁶⁷⁴⁵⁵⁰⁶⁰⁵⁹¹⁹⁹⁵⁷⁰³¹⁵²⁸⁰⁴⁶⁴⁴⁸⁶¹²⁵⁵³²⁶⁵⁹³³⁵⁸⁵¹⁵⁸²⁰⁰⁵³⁰⁶²¹⁵²²⁴⁹⁴⁷⁹⁸⁸³⁵⁷¹³⁰⁰⁸⁰⁶⁹⁶⁶⁹⁶⁷⁵⁶⁸²⁵¹⁷¹⁵³³⁷⁵⁶⁰⁴⁹⁸³⁷⁷³⁰⁷⁷⁵⁵⁰⁹⁴⁶⁵⁸³⁹⁵⁸³⁰³³⁸⁶⁰⁷⁴³⁴⁹⁵⁶⁷";
String resSuber = "₋₁₂₃₆₆₅₂₀₀₇₃₆₅₅₂₂₆₇₀₃₀₂₅₁₂₆₀₅₀₉₈₂₃₅₉₅₀₁₇₅₆₅₆₇₄₅₅₀₆₀₅₉₁₉₉₅₇₀₃₁₅₂₈₀₄₆₄₄₈₆₁₂₅₅₃₂₆₅₉₃₃₅₈₅₁₅₈₂₀₀₅₃₀₆₂₁₅₂₂₄₉₄₇₉₈₈₃₅₇₁₃₀₀₈₀₆₉₆₆₉₆₇₅₆₈₂₅₁₇₁₅₃₃₇₅₆₀₄₉₈₃₇₇₃₀₇₇₅₅₀₉₄₆₅₈₃₉₅₈₃₀₃₃₈₆₀₇₄₃₄₉₅₆₇";
String resSuper = "²³³⁸⁷⁸³⁵³¹⁸⁰⁷⁵⁸³³⁹⁵²²⁹⁹⁹⁹⁸⁵⁸⁴⁶¹⁴⁵¹⁵³⁷⁰¹⁶²⁰⁵⁵¹⁴⁷⁰⁴⁷³⁴⁹¹⁸³⁴²⁰³⁶⁵²⁷³²¹⁷³⁵¹⁵⁹⁰⁴⁹⁴⁶²⁶⁰³⁴¹⁷⁴⁵²⁷⁸¹³³⁹⁹⁵⁵⁶³³⁹⁸⁵⁴³⁸³³⁰⁰²⁷³⁷³⁰⁵⁷⁵⁵²⁶⁵⁶⁶⁷⁵⁴⁰²⁹⁰⁷²⁷⁷⁶⁶⁸⁰⁷⁴⁹³²¹²⁸⁷⁶⁹⁰⁹⁸⁷⁵⁵⁹⁴⁶⁵⁹⁹⁹⁰⁵²⁵¹⁴⁹⁵¹¹⁶⁶⁸⁵⁸⁴³¹⁴⁵⁴¹⁰⁸⁰⁵²⁹²³²⁹²⁰⁵⁰⁷³³⁹²⁸⁰³⁶⁶⁶⁰⁸⁵⁴³²⁸⁴¹⁰⁰⁷²⁹³²³⁷⁰⁷⁷⁴⁴⁸⁴⁷⁵²⁹²⁴⁴⁰²⁸⁷⁰⁴³⁷⁵²²²⁸²⁸⁰⁷⁵⁰⁴⁸⁰⁵³⁴⁴¹⁸⁷³⁰⁶⁶⁸⁴¹⁴³¹⁸⁸⁶⁷⁷⁰⁹⁹⁶⁸⁰⁸⁷⁴⁰⁸²⁷²¹¹⁶⁰³⁴⁷⁵⁰³⁸³⁷⁸¹⁷⁴⁹⁷⁶⁷¹²⁶⁸¹⁵¹⁰⁶²²²²⁶¹⁰⁵⁰⁴²⁹³³⁷⁰¹⁰⁸¹⁶³⁹⁴²⁰⁷⁹⁶⁴⁵⁶⁶²⁵⁸³²⁰⁵³⁴⁸⁰⁷⁹²⁸⁴⁰¹⁷⁰²⁰¹⁹⁷⁸⁷⁴⁶⁸⁶³⁸⁷⁵⁶⁵³⁹³⁰⁵³⁶¹³⁰⁶⁹²¹¹⁴⁵³⁴⁵⁵³⁵⁰⁸²¹³⁷⁷³⁶⁷⁷⁵⁴³⁹⁹⁰⁸⁵⁵⁴⁰²⁸⁴⁵⁹⁵²⁶⁹⁰⁹⁶⁶⁴²²⁹⁷⁹⁹⁹⁶⁶¹¹²⁸⁵²¹⁴⁴⁷²¹²⁴¹⁷⁶²⁵⁸⁴²⁰³⁴¹⁶⁹⁰⁷⁰⁹⁶¹⁵⁰¹⁶⁸⁷⁵⁹⁵⁰⁰⁷⁸⁹³⁴⁷⁴⁰⁴⁸⁹⁵³⁶⁸⁶⁶⁶⁶⁵⁰⁶³⁷³⁰⁰⁹⁸¹⁸⁸⁵²³⁵¹⁷⁴⁸¹⁴⁶⁷¹⁹⁵⁸³¹⁰⁹⁴⁸⁴⁶³⁷⁹⁵⁹⁷³⁶⁹⁸⁵⁹⁶⁶⁹³⁴⁶⁹⁰⁵⁴³³⁵⁹⁰⁹²⁶⁴²⁷⁹⁰³²²⁷⁰¹⁷⁵³⁴⁴⁰¹¹⁸¹⁹³⁴¹⁴¹⁴¹⁰²⁴⁹⁴⁸¹²⁰³⁴⁴⁶¹⁵⁵⁰¹¹⁷⁴¹⁰²³⁸⁹⁷⁹¹⁶³⁵⁰²²⁶³⁷³⁸⁷³⁸⁵²⁷⁰⁰⁷⁵⁸⁰²⁸⁵⁰⁵³¹⁷³⁷⁵";
String resSuber = "₂₃₃₈₇₈₃₅₃₁₈₀₇₅₈₃₃₉₅₂₂₉₉₉₉₈₅₈₄₆₁₄₅₁₅₃₇₀₁₆₂₀₅₅₁₄₇₀₄₇₃₄₉₁₈₃₄₂₀₃₆₅₂₇₃₂₁₇₃₅₁₅₉₀₄₉₄₆₂₆₀₃₄₁₇₄₅₂₇₈₁₃₃₉₉₅₅₆₃₃₉₈₅₄₃₈₃₃₀₀₂₇₃₇₃₀₅₇₅₅₂₆₅₆₆₇₅₄₀₂₉₀₇₂₇₇₆₆₈₀₇₄₉₃₂₁₂₈₇₆₉₀₉₈₇₅₅₉₄₆₅₉₉₉₀₅₂₅₁₄₉₅₁₁₆₆₈₅₈₄₃₁₄₅₄₁₀₈₀₅₂₉₂₃₂₉₂₀₅₀₇₃₃₉₂₈₀₃₆₆₆₀₈₅₄₃₂₈₄₁₀₀₇₂₉₃₂₃₇₀₇₇₄₄₈₄₇₅₂₉₂₄₄₀₂₈₇₀₄₃₇₅₂₂₂₈₂₈₀₇₅₀₄₈₀₅₃₄₄₁₈₇₃₀₆₆₈₄₁₄₃₁₈₈₆₇₇₀₉₉₆₈₀₈₇₄₀₈₂₇₂₁₁₆₀₃₄₇₅₀₃₈₃₇₈₁₇₄₉₇₆₇₁₂₆₈₁₅₁₀₆₂₂₂₂₆₁₀₅₀₄₂₉₃₃₇₀₁₀₈₁₆₃₉₄₂₀₇₉₆₄₅₆₆₂₅₈₃₂₀₅₃₄₈₀₇₉₂₈₄₀₁₇₀₂₀₁₉₇₈₇₄₆₈₆₃₈₇₅₆₅₃₉₃₀₅₃₆₁₃₀₆₉₂₁₁₄₅₃₄₅₅₃₅₀₈₂₁₃₇₇₃₆₇₇₅₄₃₉₉₀₈₅₅₄₀₂₈₄₅₉₅₂₆₉₀₉₆₆₄₂₂₉₇₉₉₉₆₆₁₁₂₈₅₂₁₄₄₇₂₁₂₄₁₇₆₂₅₈₄₂₀₃₄₁₆₉₀₇₀₉₆₁₅₀₁₆₈₇₅₉₅₀₀₇₈₉₃₄₇₄₀₄₈₉₅₃₆₈₆₆₆₆₅₀₆₃₇₃₀₀₉₈₁₈₈₅₂₃₅₁₇₄₈₁₄₆₇₁₉₅₈₃₁₀₉₄₈₄₆₃₇₉₅₉₇₃₆₉₈₅₉₆₆₉₃₄₆₉₀₅₄₃₃₅₉₀₉₂₆₄₂₇₉₀₃₂₂₇₀₁₇₅₃₄₄₀₁₁₈₁₉₃₄₁₄₁₄₁₀₂₄₉₄₈₁₂₀₃₄₄₆₁₅₅₀₁₁₇₄₁₀₂₃₈₉₇₉₁₆₃₅₀₂₂₆₃₇₃₈₇₃₈₅₂₇₀₀₇₅₈₀₂₈₅₀₅₃₁₇₃₇₅";
Assertions.assertEquals(resSuper + "/" + resSuber, FourCornerUnicodeDisplay.text().renderFromInt18(cdc));
}
}