@@ -86,45 +86,39 @@ print(x)'.
8686{ #category : ' tests' }
8787FASTPythonLocalResolverTest >> testVariableAccessedInForIn [
8888
89- | assignment1 assignment2 assignedVariable usedVariable |
90- self skip. " Todo"
89+ | assignment assignedVariable usedVariable |
9190 self parseAndResolve: ' fruits = ["apple", "banana", "cherry"]
9291for x in fruits:
93- print(x) ' .
92+ pass ' .
9493
95- assignment1 := model module statements first.
96- assignedVariable := assignment1 left.
97- self assert: assignedVariable localDeclaration equals: assignment1 .
98- self assert: assignedVariable localDeclaration left name equals: ' x ' .
94+ assignment := model module statements first.
95+ assignedVariable := assignment left.
96+ self assert: assignedVariable localDeclaration equals: assignment .
97+ self assert: assignedVariable localDeclaration left name equals: ' fruits ' .
9998 self deny: assignedVariable localDeclaration isNonLocalDeclaration.
10099 self assert: assignedVariable localDeclaration localUses size equals: 2 .
101100
102- assignment2 := model module statements second.
103- assignedVariable := assignment2 left.
104- self assert: assignedVariable localDeclaration equals: assignment1.
105- self assert: assignedVariable equals: assignedVariable localDeclaration localUses first.
106-
107- usedVariable := model module statements third.
108- self assert: usedVariable localDeclaration equals: assignment1.
101+ usedVariable := model module statements second right.
102+ self assert: usedVariable localDeclaration equals: assignment.
109103 self assert: usedVariable equals: assignedVariable localDeclaration localUses second
110104]
111105
112106{ #category : ' tests' }
113107FASTPythonLocalResolverTest >> testVariableOfFor [
114108
115109 | for declared usedVariable |
116- self skip. " Todo"
117110 self parseAndResolve: ' for x in "banana":
118111 print(x)' .
119112
120113 for := model module statements first.
121114 declared := for left.
122115 self assert: declared localDeclaration equals: for.
123- self assert: declared localDeclaration left name equals: ' x' .
116+ self assert: declared localDeclaration left sourceCode equals: ' x' .
124117 self deny: declared localDeclaration isNonLocalDeclaration.
125- self assert: declared localDeclaration localUses size equals: 1 .
118+ self assert: declared localDeclaration localUses size equals: 2 .
119+ self assert: declared localDeclaration localUses first equals: declared.
126120
127121 usedVariable := for statements first arguments first.
128122 self assert: usedVariable localDeclaration equals: for.
129- self assert: usedVariable equals: declared localDeclaration localUses first
123+ self assert: usedVariable equals: declared localDeclaration localUses second
130124]
0 commit comments