@@ -668,18 +668,23 @@ class ReplVarsTest : AbstractSingleReplTest() {
668
668
"""
669
669
val x = 124
670
670
private var f = "abcd"
671
- """ .trimIndent()
671
+ """ .trimIndent(),
672
+ jupyterId = 1
672
673
)
673
674
val state = repl.notebook.cellVariables
674
675
assertTrue(state.isNotEmpty())
676
+
677
+ // f is not accessible from here
675
678
eval(
676
679
"""
677
680
private var z = 1
678
681
z += x
679
- """ .trimIndent()
682
+ """ .trimIndent(),
683
+ jupyterId = 1
680
684
)
681
685
assertTrue(state.isNotEmpty())
682
686
687
+ // TODO discuss if we really want this
683
688
val setOfCell = setOf (" z" , " f" , " x" )
684
689
assertTrue(state.containsValue(setOfCell))
685
690
}
@@ -809,6 +814,7 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
809
814
810
815
val serializer = repl.variablesSerializer
811
816
val newData = serializer.doIncrementalSerialization(0 , " data" , actualContainer)
817
+ val a = 1
812
818
}
813
819
814
820
@Test
@@ -892,13 +898,7 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
892
898
val serializer = repl.variablesSerializer
893
899
894
900
val newData = serializer.doIncrementalSerialization(0 , listData.fieldDescriptor.entries.first().key, actualContainer)
895
- var receivedDescriptor = newData.fieldDescriptor
896
- assertEquals(2 , receivedDescriptor.size)
897
- assertTrue(receivedDescriptor.containsKey(" size" ))
898
-
899
- val innerList = receivedDescriptor.entries.last().value!!
900
- assertTrue(innerList.isContainer)
901
- receivedDescriptor = innerList.fieldDescriptor
901
+ val receivedDescriptor = newData.fieldDescriptor
902
902
assertEquals(4 , receivedDescriptor.size)
903
903
904
904
var values = 1
@@ -946,13 +946,61 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
946
946
assertEquals(3 , newDescriptor[" data" ]!! .fieldDescriptor.size)
947
947
val ansSet = mutableSetOf (" a" , " b" , " c" )
948
948
newDescriptor[" data" ]!! .fieldDescriptor.forEach { (_, state) ->
949
- assertTrue (state!! .isContainer)
949
+ assertFalse (state!! .isContainer)
950
950
assertTrue(ansSet.contains(state.value))
951
951
ansSet.remove(state.value)
952
952
}
953
953
assertTrue(ansSet.isEmpty())
954
954
}
955
955
956
+
957
+ @Test
958
+ fun testSetContainer () {
959
+ var res = eval(
960
+ """
961
+ val x = setOf("a", "b", "cc", "c")
962
+ """ .trimIndent(),
963
+ jupyterId = 1
964
+ )
965
+ var varsData = res.metadata.evaluatedVariablesState
966
+ assertEquals(1 , varsData.size)
967
+ assertTrue(varsData.containsKey(" x" ))
968
+
969
+ var setData = varsData[" x" ]!!
970
+ assertTrue(setData.isContainer)
971
+ assertEquals(2 , setData.fieldDescriptor.size)
972
+ var setDescriptors = setData.fieldDescriptor
973
+ assertEquals(" 4" , setDescriptors[" size" ]!! .value)
974
+ assertTrue(setDescriptors[" data" ]!! .isContainer)
975
+ assertEquals(4 , setDescriptors[" data" ]!! .fieldDescriptor.size)
976
+ assertEquals(" a" , setDescriptors[" data" ]!! .fieldDescriptor[" a" ]!! .value)
977
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" b" ))
978
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" cc" ))
979
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" c" ))
980
+
981
+ res = eval(
982
+ """
983
+ val c = mutableSetOf("a", "b", "cc", "c")
984
+ """ .trimIndent(),
985
+ jupyterId = 2
986
+ )
987
+ varsData = res.metadata.evaluatedVariablesState
988
+ assertEquals(2 , varsData.size)
989
+ assertTrue(varsData.containsKey(" c" ))
990
+
991
+ setData = varsData[" c" ]!!
992
+ assertTrue(setData.isContainer)
993
+ assertEquals(2 , setData.fieldDescriptor.size)
994
+ setDescriptors = setData.fieldDescriptor
995
+ assertEquals(" 4" , setDescriptors[" size" ]!! .value)
996
+ assertTrue(setDescriptors[" data" ]!! .isContainer)
997
+ assertEquals(4 , setDescriptors[" data" ]!! .fieldDescriptor.size)
998
+ assertEquals(" a" , setDescriptors[" data" ]!! .fieldDescriptor[" a" ]!! .value)
999
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" b" ))
1000
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" cc" ))
1001
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" c" ))
1002
+ }
1003
+
956
1004
@Test
957
1005
fun testSerializationMessage () {
958
1006
val res = eval(
@@ -975,9 +1023,7 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
975
1023
976
1024
val innerList = data.entries.last().value
977
1025
assertTrue(innerList.isContainer)
978
- var receivedDescriptor = innerList.fieldDescriptor
979
- assertEquals(2 , receivedDescriptor.size)
980
- receivedDescriptor = receivedDescriptor.entries.last().value!! .fieldDescriptor
1026
+ val receivedDescriptor = innerList.fieldDescriptor
981
1027
982
1028
assertEquals(4 , receivedDescriptor.size)
983
1029
var values = 1
@@ -997,9 +1043,8 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
997
1043
998
1044
val innerList = data.entries.last().value
999
1045
assertTrue(innerList.isContainer)
1000
- var receivedDescriptor = innerList.fieldDescriptor
1001
- assertEquals(2 , receivedDescriptor.size)
1002
- receivedDescriptor = receivedDescriptor.entries.last().value!! .fieldDescriptor
1046
+ val receivedDescriptor = innerList.fieldDescriptor
1047
+
1003
1048
1004
1049
assertEquals(4 , receivedDescriptor.size)
1005
1050
var values = 1
@@ -1050,5 +1095,26 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
1050
1095
)
1051
1096
assertTrue(state.isNotEmpty())
1052
1097
assertEquals(state, setOfPrevCell)
1098
+
1099
+
1100
+ eval(
1101
+ """
1102
+ private val x = 341
1103
+ protected val z = "abcd"
1104
+ """ .trimIndent(),
1105
+ jupyterId = 1
1106
+ )
1107
+ assertTrue(state.isEmpty())
1108
+
1109
+ eval(
1110
+ """
1111
+ private val x = "abcd"
1112
+ var f = 47
1113
+ internal val z = 47
1114
+ """ .trimIndent(),
1115
+ jupyterId = 1
1116
+ )
1117
+ assertTrue(state.isNotEmpty())
1118
+ assertEquals(setOfPrevCell, state)
1053
1119
}
1054
1120
}
0 commit comments