@@ -639,18 +639,23 @@ class ReplVarsTest : AbstractSingleReplTest() {
639
639
"""
640
640
val x = 124
641
641
private var f = "abcd"
642
- """ .trimIndent()
642
+ """ .trimIndent(),
643
+ jupyterId = 1
643
644
)
644
645
val state = repl.notebook.cellVariables
645
646
assertTrue(state.isNotEmpty())
647
+
648
+ // f is not accessible from here
646
649
eval(
647
650
"""
648
651
private var z = 1
649
652
z += x
650
- """ .trimIndent()
653
+ """ .trimIndent(),
654
+ jupyterId = 1
651
655
)
652
656
assertTrue(state.isNotEmpty())
653
657
658
+ // TODO discuss if we really want this
654
659
val setOfCell = setOf (" z" , " f" , " x" )
655
660
assertTrue(state.containsValue(setOfCell))
656
661
}
@@ -817,6 +822,7 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
817
822
818
823
val serializer = repl.variablesSerializer
819
824
val newData = serializer.doIncrementalSerialization(0 , " data" , actualContainer)
825
+ val a = 1
820
826
}
821
827
822
828
@Test
@@ -900,13 +906,7 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
900
906
val serializer = repl.variablesSerializer
901
907
902
908
val newData = serializer.doIncrementalSerialization(0 , listData.fieldDescriptor.entries.first().key, actualContainer)
903
- var receivedDescriptor = newData.fieldDescriptor
904
- assertEquals(2 , receivedDescriptor.size)
905
- assertTrue(receivedDescriptor.containsKey(" size" ))
906
-
907
- val innerList = receivedDescriptor.entries.last().value!!
908
- assertTrue(innerList.isContainer)
909
- receivedDescriptor = innerList.fieldDescriptor
909
+ val receivedDescriptor = newData.fieldDescriptor
910
910
assertEquals(4 , receivedDescriptor.size)
911
911
912
912
var values = 1
@@ -954,13 +954,61 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
954
954
assertEquals(3 , newDescriptor[" data" ]!! .fieldDescriptor.size)
955
955
val ansSet = mutableSetOf (" a" , " b" , " c" )
956
956
newDescriptor[" data" ]!! .fieldDescriptor.forEach { (_, state) ->
957
- assertTrue (state!! .isContainer)
957
+ assertFalse (state!! .isContainer)
958
958
assertTrue(ansSet.contains(state.value))
959
959
ansSet.remove(state.value)
960
960
}
961
961
assertTrue(ansSet.isEmpty())
962
962
}
963
963
964
+
965
+ @Test
966
+ fun testSetContainer () {
967
+ var res = eval(
968
+ """
969
+ val x = setOf("a", "b", "cc", "c")
970
+ """ .trimIndent(),
971
+ jupyterId = 1
972
+ )
973
+ var varsData = res.metadata.evaluatedVariablesState
974
+ assertEquals(1 , varsData.size)
975
+ assertTrue(varsData.containsKey(" x" ))
976
+
977
+ var setData = varsData[" x" ]!!
978
+ assertTrue(setData.isContainer)
979
+ assertEquals(2 , setData.fieldDescriptor.size)
980
+ var setDescriptors = setData.fieldDescriptor
981
+ assertEquals(" 4" , setDescriptors[" size" ]!! .value)
982
+ assertTrue(setDescriptors[" data" ]!! .isContainer)
983
+ assertEquals(4 , setDescriptors[" data" ]!! .fieldDescriptor.size)
984
+ assertEquals(" a" , setDescriptors[" data" ]!! .fieldDescriptor[" a" ]!! .value)
985
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" b" ))
986
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" cc" ))
987
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" c" ))
988
+
989
+ res = eval(
990
+ """
991
+ val c = mutableSetOf("a", "b", "cc", "c")
992
+ """ .trimIndent(),
993
+ jupyterId = 2
994
+ )
995
+ varsData = res.metadata.evaluatedVariablesState
996
+ assertEquals(2 , varsData.size)
997
+ assertTrue(varsData.containsKey(" c" ))
998
+
999
+ setData = varsData[" c" ]!!
1000
+ assertTrue(setData.isContainer)
1001
+ assertEquals(2 , setData.fieldDescriptor.size)
1002
+ setDescriptors = setData.fieldDescriptor
1003
+ assertEquals(" 4" , setDescriptors[" size" ]!! .value)
1004
+ assertTrue(setDescriptors[" data" ]!! .isContainer)
1005
+ assertEquals(4 , setDescriptors[" data" ]!! .fieldDescriptor.size)
1006
+ assertEquals(" a" , setDescriptors[" data" ]!! .fieldDescriptor[" a" ]!! .value)
1007
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" b" ))
1008
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" cc" ))
1009
+ assertTrue(setDescriptors[" data" ]!! .fieldDescriptor.containsKey(" c" ))
1010
+ }
1011
+
964
1012
@Test
965
1013
fun testSerializationMessage () {
966
1014
val res = eval(
@@ -983,9 +1031,7 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
983
1031
984
1032
val innerList = data.entries.last().value
985
1033
assertTrue(innerList.isContainer)
986
- var receivedDescriptor = innerList.fieldDescriptor
987
- assertEquals(2 , receivedDescriptor.size)
988
- receivedDescriptor = receivedDescriptor.entries.last().value!! .fieldDescriptor
1034
+ val receivedDescriptor = innerList.fieldDescriptor
989
1035
990
1036
assertEquals(4 , receivedDescriptor.size)
991
1037
var values = 1
@@ -1005,9 +1051,8 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
1005
1051
1006
1052
val innerList = data.entries.last().value
1007
1053
assertTrue(innerList.isContainer)
1008
- var receivedDescriptor = innerList.fieldDescriptor
1009
- assertEquals(2 , receivedDescriptor.size)
1010
- receivedDescriptor = receivedDescriptor.entries.last().value!! .fieldDescriptor
1054
+ val receivedDescriptor = innerList.fieldDescriptor
1055
+
1011
1056
1012
1057
assertEquals(4 , receivedDescriptor.size)
1013
1058
var values = 1
@@ -1058,5 +1103,26 @@ class ReplVarsSerializationTest : AbstractSingleReplTest() {
1058
1103
)
1059
1104
assertTrue(state.isNotEmpty())
1060
1105
assertEquals(state, setOfPrevCell)
1106
+
1107
+
1108
+ eval(
1109
+ """
1110
+ private val x = 341
1111
+ protected val z = "abcd"
1112
+ """ .trimIndent(),
1113
+ jupyterId = 1
1114
+ )
1115
+ assertTrue(state.isEmpty())
1116
+
1117
+ eval(
1118
+ """
1119
+ private val x = "abcd"
1120
+ var f = 47
1121
+ internal val z = 47
1122
+ """ .trimIndent(),
1123
+ jupyterId = 1
1124
+ )
1125
+ assertTrue(state.isNotEmpty())
1126
+ assertEquals(setOfPrevCell, state)
1061
1127
}
1062
1128
}
0 commit comments