Когда я запускаю ваш второй пример:
(test1, test2, test3="3", test4="4", test5 = "5", test6 = "6")
Я получаю результат, отличный от того, что вы сообщаете:
test1=="3", test2=="4", test3=="5", test4=="4", test5=="5", test6=="6"
(обратите внимание, что test4 это "4", а не "6")
Что имеет смысл для меня, потому что оно разбирает вот так:
((test1, test2, test3) = ("3", (test4="4", (test5 = "5", (test6 = "6")))))
Итак, вы получите оценку примерно так:
((test1, test2, test3) = ("3", (test4="4", (test5 = "5", (test6 = "6")))))
[assign "6" to test6]
((test1, test2, test3) = ("3", (test4="4", (test5 = "5", "6"))))
[assign "5" to test5]
((test1, test2, test3) = ("3", (test4="4", "5", "6")))
[assign "4" to test4]
((test1, test2, test3) = ("3", "4", "5", "6"))
[assign "3", "4", and "5" to test1, test2, and test3 respectively]