<xml xmlns="http://www.w3.org/1999/xhtml">
  <block type="unittest_main" x="-4" y="-12">
    <statement name="DO">
      <block type="unittest_assertvalue" inline="false">
        <field name="MESSAGE">True</field>
        <field name="EXPECTED">TRUE</field>
        <value name="ACTUAL">
          <block type="logic_boolean">
            <field name="BOOL">TRUE</field>
          </block>
        </value>
        <next>
          <block type="unittest_assertvalue" inline="false">
            <field name="MESSAGE">False</field>
            <field name="EXPECTED">FALSE</field>
            <value name="ACTUAL">
              <block type="logic_boolean">
                <field name="BOOL">FALSE</field>
              </block>
            </value>
            <next>
              <block type="unittest_assertvalue" inline="false">
                <field name="MESSAGE">Not true</field>
                <field name="EXPECTED">TRUE</field>
                <value name="ACTUAL">
                  <block type="logic_negate" inline="false">
                    <value name="BOOL">
                      <block type="logic_boolean">
                        <field name="BOOL">FALSE</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="unittest_assertvalue" inline="false">
                    <field name="MESSAGE">Not false</field>
                    <field name="EXPECTED">FALSE</field>
                    <value name="ACTUAL">
                      <block type="logic_negate" inline="false">
                        <value name="BOOL">
                          <block type="logic_boolean">
                            <field name="BOOL">TRUE</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <next>
                      <block type="procedures_callnoreturn">
                        <mutation name="test if"></mutation>
                        <next>
                          <block type="procedures_callnoreturn">
                            <mutation name="test equalities"></mutation>
                            <next>
                              <block type="procedures_callnoreturn">
                                <mutation name="test and"></mutation>
                                <next>
                                  <block type="procedures_callnoreturn">
                                    <mutation name="test or"></mutation>
                                    <next>
                                      <block type="procedures_callnoreturn">
                                        <mutation name="test ternary"></mutation>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </next>
      </block>
    </statement>
  </block>
  <block type="procedures_defnoreturn" x="385" y="-3">
    <field name="NAME">test if</field>
    <statement name="STACK">
      <block type="controls_if" inline="false">
        <value name="IF0">
          <block type="logic_boolean">
            <field name="BOOL">FALSE</field>
          </block>
        </value>
        <statement name="DO0">
          <block type="unittest_fail">
            <field name="MESSAGE">if false</field>
          </block>
        </statement>
        <next>
          <block type="variables_set" inline="false">
            <field name="VAR">ok</field>
            <value name="VALUE">
              <block type="logic_boolean">
                <field name="BOOL">FALSE</field>
              </block>
            </value>
            <next>
              <block type="controls_if" inline="false">
                <value name="IF0">
                  <block type="logic_boolean">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="variables_set" inline="false">
                    <field name="VAR">ok</field>
                    <value name="VALUE">
                      <block type="logic_boolean">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                  </block>
                </statement>
                <next>
                  <block type="unittest_assertvalue" inline="false">
                    <field name="MESSAGE">if true</field>
                    <field name="EXPECTED">TRUE</field>
                    <value name="ACTUAL">
                      <block type="variables_get">
                        <field name="VAR">ok</field>
                      </block>
                    </value>
                    <next>
                      <block type="variables_set" inline="false">
                        <field name="VAR">ok</field>
                        <value name="VALUE">
                          <block type="logic_boolean">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                        <next>
                          <block type="controls_if" inline="false">
                            <mutation else="1"></mutation>
                            <value name="IF0">
                              <block type="logic_boolean">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="unittest_fail">
                                <field name="MESSAGE">if/else false</field>
                              </block>
                            </statement>
                            <statement name="ELSE">
                              <block type="variables_set" inline="false">
                                <field name="VAR">ok</field>
                                <value name="VALUE">
                                  <block type="logic_boolean">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <next>
                              <block type="unittest_assertvalue" inline="false">
                                <field name="MESSAGE">if/else false</field>
                                <field name="EXPECTED">TRUE</field>
                                <value name="ACTUAL">
                                  <block type="variables_get">
                                    <field name="VAR">ok</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="variables_set" inline="false">
                                    <field name="VAR">ok</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="controls_if" inline="false">
                                        <mutation else="1"></mutation>
                                        <value name="IF0">
                                          <block type="logic_boolean">
                                            <field name="BOOL">TRUE</field>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="variables_set" inline="false">
                                            <field name="VAR">ok</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean">
                                                <field name="BOOL">TRUE</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                        <statement name="ELSE">
                                          <block type="unittest_fail">
                                            <field name="MESSAGE">if/else true</field>
                                          </block>
                                        </statement>
                                        <next>
                                          <block type="unittest_assertvalue" inline="false">
                                            <field name="MESSAGE">if/else true</field>
                                            <field name="EXPECTED">TRUE</field>
                                            <value name="ACTUAL">
                                              <block type="variables_get">
                                                <field name="VAR">ok</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="variables_set" inline="false">
                                                <field name="VAR">ok</field>
                                                <value name="VALUE">
                                                  <block type="logic_boolean">
                                                    <field name="BOOL">FALSE</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="controls_if" inline="false">
                                                    <mutation elseif="2" else="1"></mutation>
                                                    <value name="IF0">
                                                      <block type="logic_boolean">
                                                        <field name="BOOL">FALSE</field>
                                                      </block>
                                                    </value>
                                                    <statement name="DO0">
                                                      <block type="unittest_fail">
                                                        <field name="MESSAGE">elseif 1</field>
                                                      </block>
                                                    </statement>
                                                    <value name="IF1">
                                                      <block type="logic_boolean">
                                                        <field name="BOOL">TRUE</field>
                                                      </block>
                                                    </value>
                                                    <statement name="DO1">
                                                      <block type="variables_set" inline="false">
                                                        <field name="VAR">ok</field>
                                                        <value name="VALUE">
                                                          <block type="logic_boolean">
                                                            <field name="BOOL">TRUE</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </statement>
                                                    <value name="IF2">
                                                      <block type="logic_boolean">
                                                        <field name="BOOL">TRUE</field>
                                                      </block>
                                                    </value>
                                                    <statement name="DO2">
                                                      <block type="unittest_fail">
                                                        <field name="MESSAGE">elseif 2</field>
                                                      </block>
                                                    </statement>
                                                    <statement name="ELSE">
                                                      <block type="unittest_fail">
                                                        <field name="MESSAGE">elseif 3</field>
                                                      </block>
                                                    </statement>
                                                    <next>
                                                      <block type="unittest_assertvalue" inline="false">
                                                        <field name="MESSAGE">elseif 4</field>
                                                        <field name="EXPECTED">TRUE</field>
                                                        <value name="ACTUAL">
                                                          <block type="variables_get">
                                                            <field name="VAR">ok</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>
    </statement>
  </block>
  <block type="procedures_defnoreturn" x="-7" y="384">
    <field name="NAME">test equalities</field>
    <statement name="STACK">
      <block type="unittest_assertvalue" inline="false">
        <field name="MESSAGE">Equal yes</field>
        <field name="EXPECTED">TRUE</field>
        <value name="ACTUAL">
          <block type="logic_compare">
            <field name="OP">EQ</field>
            <value name="A">
              <block type="math_number">
                <field name="NUM">2</field>
              </block>
            </value>
            <value name="B">
              <block type="math_number">
                <field name="NUM">2</field>
              </block>
            </value>
          </block>
        </value>
        <next>
          <block type="unittest_assertvalue" inline="false">
            <field name="MESSAGE">Equal no</field>
            <field name="EXPECTED">FALSE</field>
            <value name="ACTUAL">
              <block type="logic_compare">
                <field name="OP">EQ</field>
                <value name="A">
                  <block type="math_number">
                    <field name="NUM">3</field>
                  </block>
                </value>
                <value name="B">
                  <block type="math_number">
                    <field name="NUM">4</field>
                  </block>
                </value>
              </block>
            </value>
            <next>
              <block type="unittest_assertvalue" inline="false">
                <field name="MESSAGE">Not equal yes</field>
                <field name="EXPECTED">TRUE</field>
                <value name="ACTUAL">
                  <block type="logic_compare">
                    <field name="OP">NEQ</field>
                    <value name="A">
                      <block type="math_number">
                        <field name="NUM">5</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="math_number">
                        <field name="NUM">6</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="unittest_assertvalue" inline="false">
                    <field name="MESSAGE">Not equal no</field>
                    <field name="EXPECTED">FALSE</field>
                    <value name="ACTUAL">
                      <block type="logic_compare">
                        <field name="OP">EQ</field>
                        <value name="A">
                          <block type="math_number">
                            <field name="NUM">3</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="math_number">
                            <field name="NUM">4</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <next>
                      <block type="unittest_assertvalue" inline="false">
                        <field name="MESSAGE">Smaller yes</field>
                        <field name="EXPECTED">TRUE</field>
                        <value name="ACTUAL">
                          <block type="logic_compare">
                            <field name="OP">LT</field>
                            <value name="A">
                              <block type="math_number">
                                <field name="NUM">5</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="math_number">
                                <field name="NUM">6</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="unittest_assertvalue" inline="false">
                            <field name="MESSAGE">Smaller no</field>
                            <field name="EXPECTED">FALSE</field>
                            <value name="ACTUAL">
                              <block type="logic_compare">
                                <field name="OP">LT</field>
                                <value name="A">
                                  <block type="math_number">
                                    <field name="NUM">7</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="math_number">
                                    <field name="NUM">7</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <next>
                              <block type="unittest_assertvalue" inline="false">
                                <field name="MESSAGE">Greater yes</field>
                                <field name="EXPECTED">TRUE</field>
                                <value name="ACTUAL">
                                  <block type="logic_compare">
                                    <field name="OP">GT</field>
                                    <value name="A">
                                      <block type="math_number">
                                        <field name="NUM">9</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="math_number">
                                        <field name="NUM">8</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <next>
                                  <block type="unittest_assertvalue" inline="false">
                                    <field name="MESSAGE">Greater no</field>
                                    <field name="EXPECTED">FALSE</field>
                                    <value name="ACTUAL">
                                      <block type="logic_compare">
                                        <field name="OP">GT</field>
                                        <value name="A">
                                          <block type="math_number">
                                            <field name="NUM">10</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number">
                                            <field name="NUM">10</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="unittest_assertvalue" inline="false">
                                        <field name="MESSAGE">Smaller-equal yes</field>
                                        <field name="EXPECTED">TRUE</field>
                                        <value name="ACTUAL">
                                          <block type="logic_compare">
                                            <field name="OP">LTE</field>
                                            <value name="A">
                                              <block type="math_number">
                                                <field name="NUM">11</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number">
                                                <field name="NUM">11</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="unittest_assertvalue" inline="false">
                                            <field name="MESSAGE">Smaller-equal no</field>
                                            <field name="EXPECTED">FALSE</field>
                                            <value name="ACTUAL">
                                              <block type="logic_compare">
                                                <field name="OP">LTE</field>
                                                <value name="A">
                                                  <block type="math_number">
                                                    <field name="NUM">13</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="math_number">
                                                    <field name="NUM">12</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="unittest_assertvalue" inline="false">
                                                <field name="MESSAGE">Greater-equal yes</field>
                                                <field name="EXPECTED">TRUE</field>
                                                <value name="ACTUAL">
                                                  <block type="logic_compare">
                                                    <field name="OP">GTE</field>
                                                    <value name="A">
                                                      <block type="math_number">
                                                        <field name="NUM">14</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="math_number">
                                                        <field name="NUM">14</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="unittest_assertvalue" inline="false">
                                                    <field name="MESSAGE">Greater-equal no</field>
                                                    <field name="EXPECTED">FALSE</field>
                                                    <value name="ACTUAL">
                                                      <block type="logic_compare">
                                                        <field name="OP">GTE</field>
                                                        <value name="A">
                                                          <block type="math_number">
                                                            <field name="NUM">15</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <block type="math_number">
                                                            <field name="NUM">16</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>
    </statement>
  </block>
  <block type="procedures_defnoreturn" x="-5" y="1200">
    <field name="NAME">test or</field>
    <statement name="STACK">
      <block type="unittest_assertvalue" inline="false">
        <field name="MESSAGE">Or true/true</field>
        <field name="EXPECTED">TRUE</field>
        <value name="ACTUAL">
          <block type="logic_operation">
            <field name="OP">OR</field>
            <value name="A">
              <block type="logic_boolean">
                <field name="BOOL">TRUE</field>
              </block>
            </value>
            <value name="B">
              <block type="logic_boolean">
                <field name="BOOL">TRUE</field>
              </block>
            </value>
          </block>
        </value>
        <next>
          <block type="unittest_assertvalue" inline="false">
            <field name="MESSAGE">Or false/true</field>
            <field name="EXPECTED">TRUE</field>
            <value name="ACTUAL">
              <block type="logic_operation">
                <field name="OP">OR</field>
                <value name="A">
                  <block type="logic_boolean">
                    <field name="BOOL">FALSE</field>
                  </block>
                </value>
                <value name="B">
                  <block type="logic_boolean">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
              </block>
            </value>
            <next>
              <block type="unittest_assertvalue" inline="false">
                <field name="MESSAGE">Or true/false</field>
                <field name="EXPECTED">TRUE</field>
                <value name="ACTUAL">
                  <block type="logic_operation">
                    <field name="OP">OR</field>
                    <value name="A">
                      <block type="logic_boolean">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_boolean">
                        <field name="BOOL">FALSE</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="unittest_assertvalue" inline="false">
                    <field name="MESSAGE">Or false/false</field>
                    <field name="EXPECTED">FALSE</field>
                    <value name="ACTUAL">
                      <block type="logic_operation">
                        <field name="OP">OR</field>
                        <value name="A">
                          <block type="logic_boolean">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_boolean">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </next>
      </block>
    </statement>
  </block>
  <block type="procedures_defnoreturn" x="385" y="1208">
    <field name="NAME">test and</field>
    <statement name="STACK">
      <block type="unittest_assertvalue" inline="false">
        <field name="MESSAGE">And true/true</field>
        <field name="EXPECTED">TRUE</field>
        <value name="ACTUAL">
          <block type="logic_operation">
            <field name="OP">AND</field>
            <value name="A">
              <block type="logic_boolean">
                <field name="BOOL">TRUE</field>
              </block>
            </value>
            <value name="B">
              <block type="logic_boolean">
                <field name="BOOL">TRUE</field>
              </block>
            </value>
          </block>
        </value>
        <next>
          <block type="unittest_assertvalue" inline="false">
            <field name="MESSAGE">And false/true</field>
            <field name="EXPECTED">FALSE</field>
            <value name="ACTUAL">
              <block type="logic_operation">
                <field name="OP">AND</field>
                <value name="A">
                  <block type="logic_boolean">
                    <field name="BOOL">FALSE</field>
                  </block>
                </value>
                <value name="B">
                  <block type="logic_boolean">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
              </block>
            </value>
            <next>
              <block type="unittest_assertvalue" inline="false">
                <field name="MESSAGE">And true/false</field>
                <field name="EXPECTED">FALSE</field>
                <value name="ACTUAL">
                  <block type="logic_operation">
                    <field name="OP">AND</field>
                    <value name="A">
                      <block type="logic_boolean">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_boolean">
                        <field name="BOOL">FALSE</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="unittest_assertvalue" inline="false">
                    <field name="MESSAGE">And false/false</field>
                    <field name="EXPECTED">FALSE</field>
                    <value name="ACTUAL">
                      <block type="logic_operation">
                        <field name="OP">AND</field>
                        <value name="A">
                          <block type="logic_boolean">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_boolean">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </next>
      </block>
    </statement>
  </block>
  <block type="procedures_defnoreturn" x="3" y="1527">
    <field name="NAME">test ternary</field>
    <statement name="STACK">
      <block type="unittest_assertequals" inline="false">
        <field name="MESSAGE">if true</field>
        <value name="ACTUAL">
          <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="math_number">
                <field name="NUM">42</field>
              </block>
            </value>
            <value name="ELSE">
              <block type="math_number">
                <field name="NUM">99</field>
              </block>
            </value>
          </block>
        </value>
        <value name="EXPECTED">
          <block type="math_number">
            <field name="NUM">42</field>
          </block>
        </value>
        <next>
          <block type="unittest_assertequals" inline="false">
            <field name="MESSAGE">if true</field>
            <value name="ACTUAL">
              <block type="logic_ternary" inline="true">
                <value name="IF">
                  <block type="logic_boolean">
                    <field name="BOOL">FALSE</field>
                  </block>
                </value>
                <value name="THEN">
                  <block type="math_number">
                    <field name="NUM">42</field>
                  </block>
                </value>
                <value name="ELSE">
                  <block type="math_number">
                    <field name="NUM">99</field>
                  </block>
                </value>
              </block>
            </value>
            <value name="EXPECTED">
              <block type="math_number">
                <field name="NUM">99</field>
              </block>
            </value>
          </block>
        </next>
      </block>
    </statement>
  </block>
</xml>
