void () { Map<String, PsiElement> marks = loadTest(); final int SRC_NUM = 2; Assert.assertEquals(SRC_NUM + 1, marks.size()); PsiElement[] srcs = new PsiElement[SRC_NUM]; for (int i=0; i<SRC_NUM; i+=1) { PsiElement src = marks.get("<src" + (i + 1) + ">").getParent(); // ident -> target expr Assert.assertTrue(src instanceof PyExpression); srcs[i] = src; } PsiElement dst = marks.get("<dst>").getParent(); // ident -> target expr PyAssignmentStatement stmt = (PyAssignmentStatement)dst.getParent(); List<Pair<PyExpression, PyExpression>> mapping = stmt.getTargetsToValuesMapping(); Assert.assertEquals(1, mapping.size()); Pair<PyExpression, PyExpression> pair = mapping.get(0); Assert.assertEquals(dst, pair.getFirst()); for (PsiElement src : srcs) { Assert.assertEquals(src.getParent(), pair.getSecond()); // numeric expr -> tuple } }