Skip to content

Commit 907a872

Browse files
jobvslemmy
authored andcommitted
Serialize model values as strings
1 parent 9e09180 commit 907a872

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

modules/tlc2/overrides/Json.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import tlc2.value.impl.FcnRcdValue;
5252
import tlc2.value.impl.IntValue;
5353
import tlc2.value.impl.IntervalValue;
54+
import tlc2.value.impl.ModelValue;
5455
import tlc2.value.impl.RecordValue;
5556
import tlc2.value.impl.SetEnumValue;
5657
import tlc2.value.impl.SetOfFcnsValue;
@@ -153,6 +154,8 @@ private static JsonNode getNode(IValue value) throws IOException {
153154
return getArrayNode((TupleValue) value);
154155
} else if (value instanceof StringValue) {
155156
return new TextNode(((StringValue) value).val.toString());
157+
} else if (value instanceof ModelValue) {
158+
return new TextNode(((ModelValue) value).val.toString());
156159
} else if (value instanceof IntValue) {
157160
return new IntNode(((IntValue) value).val);
158161
} else if (value instanceof BoolValue) {

tests/AllTests.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONSTANT ModelValueConstant = ModelValue

tests/JsonTests.tla

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
----------------------------- MODULE JsonTests -----------------------------
22
EXTENDS Json, Integers, Sequences, TLC, TLCExt
33

4+
CONSTANT ModelValueConstant
5+
46
\* Empty values
57
ASSUME(AssertEq(ToJsonArray({}), "[]"))
68
ASSUME(AssertEq(ToJsonArray(<<>>), "[]"))
79

810
\* Primitive values
911
ASSUME(AssertEq(ToJson(FALSE), "false"))
1012
ASSUME(AssertEq(ToJson(1), "1"))
13+
ASSUME(AssertEq(ToJson("a"), "\"a\""))
14+
ASSUME(AssertEq(ToJson(ModelValueConstant), "\"ModelValue\""))
1115
ASSUME(AssertEq(ToJson({TRUE, FALSE}), "[false,true]"))
1216
ASSUME(AssertEq(ToJson({1}), "[1]"))
1317
ASSUME(AssertEq(ToJsonArray({TRUE, FALSE}), "[false,true]"))

0 commit comments

Comments
 (0)