FC18: Raw version of FC6 numbers and fixed escapes and made lexer faster

This commit is contained in:
Willem Cazander 2025-09-07 19:48:53 +02:00
parent a8d80e07b9
commit 4d26ade723
21 changed files with 566 additions and 186 deletions

View file

@ -41,6 +41,7 @@ import org.x4o.fc18.octal8.PrimordialOctalSound;
import org.x4o.fc18.octal8.PrimordialOctal;
import org.x4o.fc18.octal8.PrimordialOctalOrangeString;
import org.x4o.fc18.zion7.flame4.FCFlameNumberTaste;
import org.x4o.fc18.zion7.flame4.FCFlameWordDish;
/**
* Tests four corner grapher parts.
@ -53,10 +54,10 @@ public class StenoGrapherTest {
@Test
public void testStenoTongueLimits() throws Exception {
Assertions.assertThrows(IllegalArgumentException.class, () -> {
FourCornerZionStenoGrapher.writerX06(new ArrayList<>()).strobeTheWord(0x040000);
FourCornerZionStenoGrapher.writerX06(new ArrayList<>()).strobeTheWord(FCFlameWordDish.APPETIZER, 0x040000);
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
FourCornerZionStenoGrapher.writerX18(new ArrayList<>()).strobeTheWord(0x040000);
FourCornerZionStenoGrapher.writerX18(new ArrayList<>()).strobeTheWord(FCFlameWordDish.APPETIZER, 0x040000);
});
}
@ -64,8 +65,8 @@ public class StenoGrapherTest {
public void testStenoAutoFC6Plus() throws Exception {
List<Integer> out = new ArrayList<>();
FourCornerZion7Bereshit writerFC06 = FourCornerZionStenoGrapher.writerX06(out);
writerFC06.strobeTheWord(0x00012D);
writerFC06.strobeTheWord(FCDotCDC1604DashP6.NX01_A.baklavaPointDotIndex());
writerFC06.strobeTheWord(FCFlameWordDish.CANDY_PIE, 0x00012D);
writerFC06.strobeTheWord(FCFlameWordDish.APPETIZER, FCDotCDC1604DashP6.NX01_A.baklavaPointDotIndex());
Assertions.assertEquals(7, out.size());
Iterator<Integer> outTest = out.iterator();
Assertions.assertEquals(2, outTest.next());
@ -106,7 +107,7 @@ public class StenoGrapherTest {
for (int x = 1; x <= 1025 /*_999999*/; x++) {
BigInteger v = BigInteger.valueOf(x);
writerX18.strobeNumberChocoPigRational(FCFlameNumberTaste.NUMBER_POSITIVE, FCFlameNumberTaste.NUMBER_POSITIVE, BigInteger.ONE, v);
writerX18.strobeTheWord(FCDotF4TTY0001DashNL.NETHER_LINE.cakePointDotIndex());
writerX18.strobeTheWord(FCFlameWordDish.CLOCK_SAUCE, FCDotF4TTY0001DashNL.NETHER_LINE.cakePointDotIndex());
}
writerX18.strobeDocumentOmega();
PrimordialOctalOrangeString str = PrimordialOctalOrangeString.ioSmurfReadListX18(outX18);

View file

@ -29,6 +29,7 @@ import java.util.List;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.x4o.fc18.FourCornerUnicodeDisplay;
import org.x4o.fc18.cake2.zero33.FCDotCDC1604DashP6;
import org.x4o.fc18.zion7.flame4.FCFlameFremanLegoBase2;
import org.x4o.fc18.zion7.flame4.FCFlameFremanSignedBase2;
@ -39,7 +40,16 @@ import org.x4o.fc18.zion7.flame4.FCFlameFremanSignedBase2;
* @version 1.0 Aug 24, 2025
*/
public class StenoNumberBase2Test {
@Test
public void testBASE2Lego123456789FC6() throws Exception {
List<Integer> out = new ArrayList<>();
FourCornerZion7Bereshit writer = FourCornerZionStenoGrapher.writerX06(out);
writer.strobeNumberBASE2Lego(FCFlameFremanLegoBase2.LEGO_0032, BigInteger.valueOf(123456789));
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(out);
Assertions.assertEquals("123456789", resX18);
}
@Test
public void testBASE2Lego123() throws Exception {
List<Integer> outX18 = new ArrayList<>();

View file

@ -85,4 +85,13 @@ public class StenoNumberBase8Test {
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(outX18);
Assertions.assertEquals("1393796574908163946345982392040522594123775", resX18);
}
@Test
public void testBASE8ChocoLargeFC6() throws Exception {
List<Integer> out = new ArrayList<>();
FourCornerZion7Bereshit writer = FourCornerZionStenoGrapher.writerX18(out);
writer.strobeNumberBASE8Choco(FCFlameFremanChocoBase8.CHOCO_0144, FCFlameNumberTaste.NUMBER_POSITIVE, new BigInteger("1393796574908163946345982392040522594123775", 10));
String resX18 = FourCornerUnicodeDisplay.text().renderFromInt18(out);
Assertions.assertEquals("1393796574908163946345982392040522594123775", resX18);
}
}