File "lists.xml"
Full path: /usr/home/mndrn/domains/mndrn.ru/public_html/block-hill/blockly/tests/generators/lists.xml
File size: 669.1 KiB (685157 bytes)
MIME-type: text/plain
Charset: utf-8
<xml xmlns="https://developers.google.com/blockly/xml">
<block type="unittest_main" x="13" y="13">
<field name="SUITE_NAME">Lists</field>
<statement name="DO">
<block type="procedures_callnoreturn">
<mutation name="test create lists"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test lists empty"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test lists length"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test find lists simple"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test find lists complex"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test get lists simple"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test get lists create list"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test get lists complex"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test getRemove"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test remove"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test set"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test insert"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test sublist simple"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test sublist complex"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test join"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test split"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test sort alphabetic"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test sort ignoreCase"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test sort numeric"></mutation>
<next>
<block type="procedures_callnoreturn">
<mutation name="test lists reverse"></mutation>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="588">
<mutation>
<arg name="test name"></arg>
</mutation>
<field name="NAME">check number of calls</field>
<comment pinned="false" h="78" w="257">Checks that the number of calls is one in order to confirm that a function was only called once.</comment>
<statement name="STACK">
<block type="text_append">
<field name="VAR">test name</field>
<value name="TEXT">
<block type="text">
<field name="TEXT">number of calls</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="variables_get">
<field name="VAR">test name</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">number of calls</field>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="763">
<field name="NAME">test create lists</field>
<comment pinned="false" h="80" w="160">Tests the "create list with" and "create empty list" blocks.</comment>
<statement name="STACK">
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">create empty</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_create_with">
<mutation items="0"></mutation>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_empty"></block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">create items</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">love</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">love</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">create repeated</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_repeat" inline="true">
<value name="ITEM">
<block type="text">
<field name="TEXT">Eject</field>
</block>
</value>
<value name="NUM">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Eject</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Eject</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Eject</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">create repeated order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_repeat" inline="true">
<value name="ITEM">
<block type="text">
<field name="TEXT">Eject</field>
</block>
</value>
<value name="NUM">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Eject</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Eject</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Eject</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defreturn" x="13" y="1213">
<mutation statements="false"></mutation>
<field name="NAME">get empty list</field>
<comment pinned="false" h="80" w="160">Creates an empty list for use with the empty test.</comment>
<value name="RETURN">
<block type="lists_create_empty"></block>
</value>
</block>
<block type="procedures_defnoreturn" x="13" y="1288">
<field name="NAME">test lists empty</field>
<comment pinned="false" h="80" w="160">Tests the "is empty" block.</comment>
<statement name="STACK">
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">FALSE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">not empty</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_isEmpty" inline="true">
<value name="VALUE">
<block type="lists_create_with" inline="false">
<mutation items="1"></mutation>
<value name="ADD0">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">TRUE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">empty</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_isEmpty" inline="true">
<value name="VALUE">
<block type="lists_create_empty"></block>
</value>
</block>
</value>
<next>
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">TRUE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">empty complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_isEmpty" inline="true">
<value name="VALUE">
<block type="procedures_callreturn">
<mutation name="get empty list"></mutation>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">TRUE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">empty order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_isEmpty" inline="true">
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="lists_create_empty"></block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="1613">
<field name="NAME">test lists length</field>
<comment pinned="false" h="80" w="160">Tests the "length" block.</comment>
<statement name="STACK">
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">zero length</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="lists_create_empty"></block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">one length</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="lists_create_with" inline="false">
<mutation items="1"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">cat</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">three length</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">cat</field>
</block>
</value>
<value name="ADD1">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ADD2">
<block type="lists_create_empty"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">two length order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="lists_create_with" inline="false">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">cat</field>
</block>
</value>
<value name="ADD1">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="2038">
<field name="NAME">test find lists simple</field>
<comment pinned="false" h="80" w="160">Tests the "find" block with a variable.</comment>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Alice</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Bob</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">find first simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="FIND">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">find last simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_indexOf" inline="false">
<field name="END">LAST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="FIND">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">find none simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="FIND">
<block type="text">
<field name="TEXT">Dave</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defreturn" x="13" y="2488">
<field name="NAME">get names</field>
<comment pinned="false" h="80" w="160">Creates a list for use with the find test.</comment>
<statement name="STACK">
<block type="math_change">
<field name="VAR">number of calls</field>
<value name="DELTA">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</statement>
<value name="RETURN">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Alice</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Bob</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
</block>
</value>
</block>
<block type="procedures_defnoreturn" x="13" y="2613">
<field name="NAME">test find lists complex</field>
<comment pinned="false" h="80" w="160">Tests the "find" block with a function call.</comment>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">find first complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="procedures_callreturn">
<mutation name="get names"></mutation>
</block>
</value>
<value name="FIND">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">find first complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">find first order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get names"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="FIND">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">find first order complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">find last complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_indexOf" inline="false">
<field name="END">LAST</field>
<value name="VALUE">
<block type="procedures_callreturn">
<mutation name="get names"></mutation>
</block>
</value>
<value name="FIND">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">find last complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">find last order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_indexOf" inline="false">
<field name="END">LAST</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get names"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="FIND">
<block type="text">
<field name="TEXT">Eve</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">find last order complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">find none complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="procedures_callreturn">
<mutation name="get names"></mutation>
</block>
</value>
<value name="FIND">
<block type="text">
<field name="TEXT">Dave</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">find none complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">find none order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get names"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="FIND">
<block type="text">
<field name="TEXT">Dave</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">find none order complex</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="3788">
<field name="NAME">test get lists simple</field>
<comment pinned="false" h="80" w="160">Tests the "get" block with a variable.</comment>
<statement name="STACK">
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get first simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get last simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">LAST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
<next>
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">TRUE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get random simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="logic_compare">
<field name="OP">GT</field>
<value name="A">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="FIND">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">RANDOM</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get # simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get # order simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get #-end simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_END</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get #-end order simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_END</field>
<comment pinned="false" h="81" w="289">The order for index for #-end is addition because this will catch errors in generators where most perform the operation ... - index.</comment>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="4588">
<field name="NAME">test get lists create list</field>
<comment pinned="false" h="80" w="160">Tests the "get" block with create list call.</comment>
<statement name="STACK">
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get first create list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FIRST</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get last simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">LAST</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
<next>
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">TRUE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get random simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="logic_compare">
<field name="OP">GT</field>
<value name="A">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<value name="FIND">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">RANDOM</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get # simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get # order simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<value name="AT">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get #-end simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_END</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get #-end order simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_END</field>
<comment pinned="false" h="81" w="289">The order for index for #-end is addition because this will catch errors in generators where most perform the operation ... - index.</comment>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<value name="AT">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defreturn" x="13" y="5388">
<field name="NAME">get star wars</field>
<comment pinned="false" h="80" w="160">Creates a list for use with the get test.</comment>
<statement name="STACK">
<block type="math_change">
<field name="VAR">number of calls</field>
<value name="DELTA">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</statement>
<value name="RETURN">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
</block>
<block type="procedures_defnoreturn" x="13" y="5513">
<field name="NAME">test get lists complex</field>
<comment pinned="false" h="80" w="160">Tests the "get" block with a function call.</comment>
<statement name="STACK">
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get first complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FIRST</field>
<value name="VALUE">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get first complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get first order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FIRST</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get first order complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get last complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">LAST</field>
<value name="VALUE">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get last complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get last order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">LAST</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get last order complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">TRUE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get random complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="logic_compare">
<field name="OP">GT</field>
<value name="A">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="FIND">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">RANDOM</field>
<value name="VALUE">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get random complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">TRUE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get random order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="logic_compare">
<field name="OP">GT</field>
<value name="A">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="FIND">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">RANDOM</field>
<value name="VALUE">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get random order complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get # complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get # complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get # order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get # order complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get #-end complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_END</field>
<value name="VALUE">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get #-end complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">get #-end order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_END</field>
<comment pinned="false" h="87" w="299">The order for index for #-end is addition because this will catch errors in generators where most perform the operation ... - index.</comment>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get star wars"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">get #-end order complex</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="7338">
<field name="NAME">test getRemove</field>
<comment pinned="false" h="80" w="160">Tests the "get and remove" block.</comment>
<statement name="STACK">
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove first</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove first list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove first order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">FIRST</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove first order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove last</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">LAST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove last list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove last order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">LAST</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove last order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">TRUE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove random</field>
</block>
</value>
<value name="ACTUAL">
<block type="logic_compare">
<field name="OP">EQ</field>
<value name="A">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="FIND">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">RANDOM</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove random list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertvalue" inline="false">
<field name="EXPECTED">TRUE</field>
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove random order</field>
</block>
</value>
<value name="ACTUAL">
<block type="logic_compare">
<field name="OP">EQ</field>
<value name="A">
<block type="lists_indexOf" inline="false">
<field name="END">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="FIND">
<block type="lists_getIndex">
<mutation statement="false" at="false"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">RANDOM</field>
<value name="VALUE">
<block type="logic_ternary" inline="false">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove random order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove #</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove # list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove # order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="logic_ternary" inline="false">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove # order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove #-end</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">FROM_END</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove #-end list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove #-end order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getIndex">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET_REMOVE</field>
<field name="WHERE">FROM_END</field>
<comment pinned="false" h="94" w="258">The order for index for #-end is addition because this will catch errors in generators where most perform the operation ... - index.</comment>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">getremove #-end order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="9738">
<field name="NAME">test remove</field>
<comment pinned="false" h="80" w="160">Tests the "remove" block.</comment>
<statement name="STACK">
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="false"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">FIRST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove first list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="false"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">FIRST</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove first order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="false"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">LAST</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove last list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="false"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">LAST</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove last order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="false"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">RANDOM</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove random list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="false"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">RANDOM</field>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove random order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="true"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove # list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="true"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="logic_ternary" inline="false">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove # order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="true"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">FROM_END</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove #-end list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Kirk</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="true"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">FROM_END</field>
<comment pinned="false" h="94" w="256">The order for index for #-end is addition because this will catch errors in generators where most perform the operation ... - index.</comment>
<value name="VALUE">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">remove #-end order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Spock</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">McCoy</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="11563">
<field name="NAME">test set</field>
<comment pinned="false" h="80" w="160">Tests the "set" block.</comment>
<statement name="STACK">
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">FIRST</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Jean-Luc</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set first list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Jean-Luc</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">FIRST</field>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Jean-Luc</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set first order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Jean-Luc</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Beverly</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set last list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Beverly</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Beverly</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set last order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Beverly</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">RANDOM</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set random list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">RANDOM</field>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set random order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="true"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">FROM_START</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Pulaski</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set # list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Pulaski</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="true"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">FROM_START</field>
<value name="LIST">
<block type="logic_ternary" inline="false">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="logic_ternary" inline="false">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Pulaski</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set # order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Pulaski</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="true"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">FROM_END</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Pulaski</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set #-end list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Pulaski</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="true"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">FROM_END</field>
<comment pinned="false" h="88" w="258">The order for index for #-end is addition because this will catch errors in generators where most perform the operation ... - index.</comment>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Pulaski</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">set #-end order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Pulaski</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="13388">
<field name="NAME">test insert</field>
<comment pinned="false" h="80" w="160">Tests the "insert" block.</comment>
<statement name="STACK">
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">FIRST</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert first list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">FIRST</field>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert first order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert last list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert last order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">RANDOM</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert random list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">4</field>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="false"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">RANDOM</field>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert random order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_length" inline="false">
<value name="VALUE">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">4</field>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="true"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">FROM_START</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert # list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="true"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">FROM_START</field>
<value name="LIST">
<block type="logic_ternary" inline="false">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert # order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="true"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">FROM_END</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert #-end list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex">
<mutation at="true"></mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">FROM_END</field>
<comment pinned="false" h="77" w="263">The order for index for #-end is addition because this will catch errors in generators where most perform the operation ... - index.</comment>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="TO">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">insert #-end order list</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Picard</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Data</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Riker</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Crusher</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="15213">
<field name="NAME">test sublist simple</field>
<comment pinned="false" h="80" w="160">Tests the "get sub-list" block with a variable.</comment>
<statement name="STACK">
<block type="variables_set" inline="false">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="5"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Columbia</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
<value name="ADD4">
<block type="text">
<field name="TEXT">Endeavour</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # simple order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT2">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist #-end simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">FROM_END</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist #-end simple order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">FROM_END</field>
<comment pinned="false" h="80" w="265">The order for index for #-end is addition because this will catch errors in generators where most perform the operation ... - index.</comment>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist first-last simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="false" at2="false"></mutation>
<field name="WHERE1">FIRST</field>
<field name="WHERE2">LAST</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">changing list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="5"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Columbia</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
<value name="ADD4">
<block type="text">
<field name="TEXT">Endeavour</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">list copy</field>
<value name="VALUE">
<block type="lists_getSublist">
<mutation at1="false" at2="false"></mutation>
<field name="WHERE1">FIRST</field>
<field name="WHERE2">LAST</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">changing list</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_getIndex">
<mutation statement="true" at="false"></mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">RANDOM</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">changing list</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist first-last simple copy check</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list copy</field>
</block>
</value>
<value name="EXPECTED">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # #-end simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_END</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist #-end # simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist first # simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="false" at2="true"></mutation>
<field name="WHERE1">FIRST</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Columbia</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist first #-end simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="false" at2="true"></mutation>
<field name="WHERE1">FIRST</field>
<field name="WHERE2">FROM_END</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Columbia</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # last simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="false"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">LAST</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Endeavour</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist #-end last simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="false"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">LAST</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Endeavour</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist all with # #-end simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_END</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist all with #-end # simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">4</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">4</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist all with # #-end math simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_END</field>
<comment pinned="false" h="93" w="347">Checks that the whole list is properly retrieved even if the value for start and end is not a simple number. This is especially important in generators where sublist uses [x:length - y] for # #-end.</comment>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="AT1">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defreturn" x="13" y="17088">
<field name="NAME">get space shuttles</field>
<comment pinned="false" h="80" w="160">Creates a list for use with the sublist test.</comment>
<statement name="STACK">
<block type="math_change">
<field name="VAR">number of calls</field>
<value name="DELTA">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</statement>
<value name="RETURN">
<block type="lists_create_with" inline="true">
<mutation items="5"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Columbia</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
<value name="ADD4">
<block type="text">
<field name="TEXT">Endeavour</field>
</block>
</value>
</block>
</value>
</block>
<block type="procedures_defnoreturn" x="13" y="17213">
<field name="NAME">test sublist complex</field>
<comment pinned="false" h="80" w="160">Tests the "get sub-list" block with a function call.</comment>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # start complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist # start complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # start order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT1">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT2">
<block type="logic_ternary">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist # start order complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # end complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">FROM_END</field>
<comment pinned="false" h="78" w="267">The order for index for #-end is addition because this will catch errors in generators where most perform the operation ... - index.</comment>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # end complex number of calls</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">number of calls</field>
</block>
</value>
<value name="EXPECTED">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # end order complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">FROM_END</field>
<value name="LIST">
<block type="logic_ternary" inline="false">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="AT1">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist # end order complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist first-last complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="false" at2="false"></mutation>
<field name="WHERE1">FIRST</field>
<field name="WHERE2">LAST</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist first-last complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # #-end complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_END</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist # #-end complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist #-end # complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist #-end # complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist first # complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="false" at2="true"></mutation>
<field name="WHERE1">FIRST</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Columbia</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist first # complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist first #-end complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="false" at2="true"></mutation>
<field name="WHERE1">FIRST</field>
<field name="WHERE2">FROM_END</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Columbia</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist first #-end complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist # last complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="false"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">LAST</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Endeavour</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist # last complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist #-end last simple</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="false"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">LAST</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Challenger</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Discovery</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Atlantis</field>
</block>
</value>
<value name="ADD3">
<block type="text">
<field name="TEXT">Endeavour</field>
</block>
</value>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist #-end last simple</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist all with # #-end complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_END</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist all with # #-end complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist all with #-end # complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">FROM_START</field>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT1">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">4</field>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">4</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist all with #-end # complex</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">number of calls</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sublist all with # #-end math complex</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_getSublist">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_START</field>
<field name="WHERE2">FROM_END</field>
<comment pinned="false" h="96" w="315">Checks that the whole list is properly retrieved even if the value for start and end is not a simple number. This is especially important in generators where sublist uses [x:length - y] for # #-end.</comment>
<value name="LIST">
<block type="procedures_callreturn">
<mutation name="get space shuttles"></mutation>
</block>
</value>
<value name="AT1">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="AT2">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="B">
<block type="unittest_adjustindex">
<value name="INDEX">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" inline="true">
<mutation name="check number of calls">
<arg name="test name"></arg>
</mutation>
<value name="ARG0">
<block type="text">
<field name="TEXT">sublist all with # #-end math complex</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="19813">
<field name="NAME">test join</field>
<comment pinned="false" h="80" w="160">Tests the "join" block.</comment>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Vulcan</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Klingon</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Borg</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">join</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_split">
<mutation mode="JOIN"></mutation>
<field name="MODE">JOIN</field>
<value name="INPUT">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="DELIM">
<block type="text">
<field name="TEXT">,</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Vulcan,Klingon,Borg</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">join order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_split">
<mutation mode="JOIN"></mutation>
<field name="MODE">JOIN</field>
<value name="INPUT">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="DELIM">
<block type="text">
<field name="TEXT">,</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="text">
<field name="TEXT">Vulcan,Klingon,Borg</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="20113">
<field name="NAME">test split</field>
<comment pinned="false" h="80" w="160">Tests the "split" block.</comment>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">text</field>
<value name="VALUE">
<block type="text">
<field name="TEXT">Vulcan,Klingon,Borg</field>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">split</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_split">
<mutation mode="SPLIT"></mutation>
<field name="MODE">SPLIT</field>
<value name="INPUT">
<block type="variables_get">
<field name="VAR">text</field>
</block>
</value>
<value name="DELIM">
<block type="text">
<field name="TEXT">,</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Vulcan</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Klingon</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Borg</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">split order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_split">
<mutation mode="SPLIT"></mutation>
<field name="MODE">SPLIT</field>
<value name="INPUT">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">text</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
<value name="DELIM">
<block type="text">
<field name="TEXT">,</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Vulcan</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Klingon</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Borg</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="20413">
<field name="NAME">test sort alphabetic</field>
<comment pinned="false" h="80" w="160">Tests the "alphabetic sort" block.</comment>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Vulcan</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">klingon</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Borg</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sort alphabetic ascending</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_sort">
<field name="TYPE">TEXT</field>
<field name="DIRECTION">1</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Borg</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Vulcan</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">klingon</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sort alphabetic ascending order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_sort">
<field name="TYPE">TEXT</field>
<field name="DIRECTION">1</field>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Borg</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">Vulcan</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">klingon</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="20713">
<field name="NAME">test sort ignoreCase</field>
<comment pinned="false" h="80" w="160">Tests the "alphabetic sort ignore case" block.</comment>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Vulcan</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">klingon</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Borg</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sort ignore case ascending</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_sort">
<field name="TYPE">IGNORE_CASE</field>
<field name="DIRECTION">1</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Borg</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">klingon</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Vulcan</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sort ignore case ascending order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_sort">
<field name="TYPE">IGNORE_CASE</field>
<field name="DIRECTION">1</field>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text">
<field name="TEXT">Borg</field>
</block>
</value>
<value name="ADD1">
<block type="text">
<field name="TEXT">klingon</field>
</block>
</value>
<value name="ADD2">
<block type="text">
<field name="TEXT">Vulcan</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="21013">
<field name="NAME">test sort numeric</field>
<comment pinned="false" h="80" w="160">Tests the "numeric sort" block.</comment>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="math_number">
<field name="NUM">8</field>
</block>
</value>
<value name="ADD1">
<block type="math_number">
<field name="NUM">18</field>
</block>
</value>
<value name="ADD2">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sort numeric descending</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_sort">
<field name="TYPE">NUMERIC</field>
<field name="DIRECTION">-1</field>
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="math_number">
<field name="NUM">18</field>
</block>
</value>
<value name="ADD1">
<block type="math_number">
<field name="NUM">8</field>
</block>
</value>
<value name="ADD2">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">sort numeric descending order</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_sort">
<field name="TYPE">NUMERIC</field>
<field name="DIRECTION">-1</field>
<value name="LIST">
<block type="logic_ternary" inline="true">
<value name="IF">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="THEN">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="ELSE">
<block type="logic_null"></block>
</value>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="math_number">
<field name="NUM">18</field>
</block>
</value>
<value name="ADD1">
<block type="math_number">
<field name="NUM">8</field>
</block>
</value>
<value name="ADD2">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" x="13" y="21313">
<field name="NAME">test lists reverse</field>
<comment pinned="false" h="80" w="160">Tests the "list reverse" block.</comment>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="math_number">
<field name="NUM">8</field>
</block>
</value>
<value name="ADD1">
<block type="math_number">
<field name="NUM">18</field>
</block>
</value>
<value name="ADD2">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
<value name="ADD3">
<block type="math_number">
<field name="NUM">64</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">reverse a copy</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_reverse">
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="math_number">
<field name="NUM">64</field>
</block>
</value>
<value name="ADD1">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
<value name="ADD2">
<block type="math_number">
<field name="NUM">18</field>
</block>
</value>
<value name="ADD3">
<block type="math_number">
<field name="NUM">8</field>
</block>
</value>
</block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">reverse a copy original</field>
</block>
</value>
<value name="ACTUAL">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_with" inline="true">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="math_number">
<field name="NUM">8</field>
</block>
</value>
<value name="ADD1">
<block type="math_number">
<field name="NUM">18</field>
</block>
</value>
<value name="ADD2">
<block type="math_number">
<field name="NUM">-1</field>
</block>
</value>
<value name="ADD3">
<block type="math_number">
<field name="NUM">64</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">list</field>
<value name="VALUE">
<block type="lists_create_empty"></block>
</value>
<next>
<block type="unittest_assertequals" inline="false">
<value name="MESSAGE">
<block type="text">
<field name="TEXT">empty list</field>
</block>
</value>
<value name="ACTUAL">
<block type="lists_reverse">
<value name="LIST">
<block type="variables_get">
<field name="VAR">list</field>
</block>
</value>
</block>
</value>
<value name="EXPECTED">
<block type="lists_create_empty"></block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>