topologyWriter.ts writes konfiguration.xml from Java's view of a project: the version line, the node items (label position, device with name, host label flags, interfaces or ports), the cable items and the documentation items. What a device's constructor makes is changed through getters, as XMLEncoder does, and more is added; fewer than it makes set the list anew. Cable ends name the port objects the getters return (the writer now names a getter's result, <void id="Port0" property="port"/>), and each cable carries the nodes the editor draws it between. Checked by Java against Java: every corpus file, read and written again, loads in Java FILIUS (the oracle's loading method, --sha256 ties its result to the written bytes) to the same devices, names, positions, interfaces, cables and documentation as the original; so does a synthetic topology with what the corpus never sets. The oracle and the reader now also report a cable's drawing ends (JCablePanel ziel1/ziel2): in the corpus the nodes it joins, for all 183 cables. Mutation probes rewrite the files and let Java load each mutant. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
.fls-Korpus
Projektdateien, an denen Lesen und Schreiben gemessen werden. Alle GPL.
| Ordner | Herkunft |
|---|---|
java-examples/ |
gitlab.com/filius1/filius, beispiele/ @ 6640354 (Filius 2.14.0) |
java-tests/ |
ebenda, src/test/resources/ |
ipad-fixtures/ |
filius-ipad, ios/FiliusPadTests/Fixtures/FLS/ @ 3b5ded0 |
corpus.swift.json schreibt das Swift-Orakel (npm run oracle): was der
Swift-Leser aus jeder Datei macht. Swift ist hier kein Schiedsrichter —
er verwirft den Java-Gateway unter der Beschriftung Heimrouter samt seinen
Kabeln und Geräte, deren Position XMLEncoder über eine Rückverweis-Kette
schreibt (s. Plan §13, M2). Schiedsrichter für das Dateiformat ist Java: corpus.java.json schreibt das
Java-Orakel (npm run oracle:java).