Tests/Activity/TurtleArt

From OLPC

< Tests
Revision as of 01:31, 17 March 2012 by Pancake Batter (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This Turtle Art page is an amalgamation of test of the Turtle Art feature tests. Most of the tests date from 2009.

Contents

Turtle Art Tests

Test case: TurtleArt Activity
How to report results

Stream Any
Category Activity Sub-category TurtleArt
Component Turtle Art
Feature http://wiki.laptop.org/go/Turtleart
Objective basic functional testing
Tools n/a
Setup n/a
Procedure # Activity installs from download (if not part of default installation) from website or USB key
  1. Activity starts up
  2. You can re-name the activity
  3. User specific data can be created
    1. drag a print brick onto the field (under the numbers tab)
    2. drag a volume brick onto the field (under the sensors tab)
    3. attach the volume brick to the print brick
    4. click on the print brick
  4. You can force a save
  5. Activity closes properly from inside the activity
  6. You can resume the activity from the Journal
  7. You see the user specific data after resume
  8. You can close the activity from the Sugar frame
Expected Results
and Pass Criteria
The first time you run Turtle Art, it takes about 30 seconds to load. You'll see a mostly blank screen after the initial flashing of the icon. Subsequently, the loading time is ~5 seconds (on an OLPC-XO-1 laptop).

When you click on the print brick as per the procedures above, you should see the mic light flash on (on an OLPC-XO-1 laptop) and the current volume displayed in the lower-left corner of the screen.

Comments warning.pngEmpty strings are not accepted.
Release Stream Build Pass/Fail Trac Ticket(s) Comment(s) Date of Test
Candidate 8.2 763 Pass turtleart-26 2009/01/04



Turtle Art Boolean Logic Tests 2

Test case: Boolean Logic 2
How to report results

Stream
Category Activity Sub-category TurtleArt
Component TurtleArt
Feature http://wiki.laptop.org/go/Turtleart
Objective Tests AND, OR and NOT blocks.
Tools None
Setup --
  1. Open the TurtleArt activity.
  2. Drag an 'if' block onto the field.
  3. Drag a spacer to the 'then' area of the 'if' block.
  4. Drag a 'forward' block to the bottom of the spacer.
  5. Drag a 'back' block into the 'else' area of the 'if' block.
Procedure Test Procedure (repeat for all test values below):

For a 'true' block, place an 'Equals' block on the field with the numbers '100' and '100'. For a 'false' block, place an 'Equals' block on the field with the numbers '100' and '1'.

  1. Place the first truth value on the field, into the criteria area of the 'IF' statement.
  2. Place the 'AND' or 'OR' block-under-test on the field attached to the right of the first truth value.
  3. If the 'NOT' operator is specified by the test, add this immediately into the right side of the logic operator block.
  4. Place the second truth value on the field, into the last block added.
  5. Run the sequence.
  6. The turtle should move either up or down. Make sure the direction of movement matches the expected direction.

Test Values:

#Left Truth ValueRight Truth ValueExpected Movement Direction
[AND]
1.FalseNOT Truedown
2.TrueFalsedown
3.FalseNOT falsedown
4.TrueTrueup
[OR]
5.FalseNOT Truedown
6.TrueFalseup
7.FalseNOT falseup
8.TrueTrueup
Expected Results
and Pass Criteria
The direction of movement by the turtle matches each direction specified in the test values table.
Comments Rationale:
  • Since these functions take two boolean inputs, it is feasable to test all possible combinations.
  • A pairwise approach is used to test the 'NOT' operator at the same time: All inputs to 'NOT' are tested while testing the outer logic operators without duplication.
Release Stream Build Pass/Fail Trac Ticket(s) Comment(s) Date of Test
8.2.0 (767) warning.png"" cannot be used as a page name in this wiki. 45 Pass All logic operators work as expected. 2009/03/29



Turtle Art Arithmetic Tests

Test case: Arithmetic
How to report results

Stream
Category Activity Sub-category TurtleArt
Component TurtleArt
Feature http://wiki.laptop.org/go/Turtleart
Objective Tests basic arithmetic operations
Tools None
Setup --
  1. Open the TurtleArt activity.
  2. Drag a 'forward' block onto the field and remove it's value by dragging it onto the toolbox.
  3. Connect another 'forward' block immediately below the first 'forward' block. Leave its value as 100.
  4. Connect a 'print' block immediately below the last 'forward' block.
  5. Place a 'ycor' value in the print block.
Procedure Test Procedure (repeat for all test values below):
  1. Click the 'clean' button at the top of the screen.
  2. Connect the math function under test to the input of the first 'forward' statement.
  3. Change the default values to the values specified by the test.
  4. Run the sequence.
  5. Make sure the value printed to the output matches the expected value.
  6. In all cases, the turtle must have moved upwards, be at the upmost position of the drawn line and facing upwards.

Test Values:

#Top ValueBottom ValueExpected Result
[Addition]
1.23.212.3135.5
2.-32.42.870.4
3.5.6-9.895.8
4.-07-291.0
5.0.03.5103.5
6.4.60.0104.6
7.0.00.0100.0
[Subtraction]
8.23.212.3 110.9
9.-32.42.8 64.8
10.5.6-9.8115.4
11.-07-295.0
12.0.03.596.5
13.4.60.0104.6
14.0.00.0100.0
[Multiplication]
15.2.22104.4
16.-2.4392.8
17.5-9.851.0
18.-07-2114.0
19.0.03.5100.0
20.-4.60.0100.0
21.0.00.0100.0
[Division]
22.2.22101.1
23.-2.4399.2
24.5-9.899.4
25.-07-2103.5
26.0.03.5100.0
27.-4.60.0Error message
28.0.00.0Error message
[Modulo Values]
29.188102.0
30.-2.43100.6
31.5-9.895.2
32.-07-299.0
33.0.03.5100.0
34.-4.60.0Error message
35.0.00.0Error message
[Square Root Values]
36.-1 Error message
37.0 100.0
38.1 101.0
39.4 102.0
40.7 102.6
Expected Results
and Pass Criteria
All outputs from the 'print' command match the expected values listed in the table.
Comments Assumptions:
  • All outputs are truncated to 1 decimal place.
  • Mathematically invalid operations should show a #syntaxerror
  • Arithmetic overflow is not likely to be a problem for the range of values required, hence is not tested.

Rationale

  • Moving the turtle and then checking its Y co-ordinate is used rather than directly checking the output from the math function is done because the print function itself seems to catch errors and write '0' regardless, whereas moving the turtle reveals these errors. Furthermore, moving the turtle again after the test indicates that the program is left in a working state.
  • Equivalence partitioning is used since the math functions take at most 2 inputs, and the number tests required to provide sufficient coverage is optimal.
  • Addition, Subtraction, Multiplication, Division & Modulo: Values are chosen from the partition class {Negative Real Number, 0.0, Positive Real Number}
  • Square Root: Values tested include {-1 (invalid), 0, 1, 4 (integer result), 7 (irrational result)}. These values were selected using Boundary Analysis.
Release Stream Build Pass/Fail Trac Ticket(s) Comment(s) Date of Test
8.2.0 (767) warning.png"" cannot be used as a page name in this wiki. 45 Fail Failures:
  • The test cases 27 and 28 (division by zero) silently returns zero as the result, however should raise a #syntaxerror to let the user know that this error has occurred.
  • The test case 31 (square root of -1) does not show a #syntaxerror. Further investigation found that this operation returns NaN, which causes the turtle to move forwards by NaN in this test setup. The result of this is that the turtle appears to jump to (0, 0) and won’t move again until the ‘clear’ instruction is executed.
2009/03/29



Turtle Art Movement Tests

Test case: Movement
How to report results

Stream
Category Activity Sub-category TurtleArt
Component TurtleArt
Feature http://wiki.laptop.org/go/Turtleart
Objective Tests basic turtle movement
Tools None
Setup warning.pngEmpty strings are not accepted.
Procedure [NOTE: Each block should be connected immediately below the previous block]
  1. Open the TurtleArt activity.
  2. Drag a 'seth' block onto the field, and set it to -90
  3. Drag a 'forward' block onto the field and set its value to 150.
  4. Drag a 'left' block onto the field and set its value to 270.
  5. Drag a 'back' block onto the field and set its value to 150.
  6. Drag a 'right' block onto the field and set its value to -270.
  7. Drag a 'back' block onto the field and set its value to -150.
  8. Drag a 'left' block onto the field and set its value to 630.
  9. Drag a 'forward' block onto the field and set its value to -150.
  10. Drag a 'right' block onto the field and set its value to 540.
  11. Drag a 'forward' block onto the field and set its value to 10 000 000 000.
  12. Drag a 'back' block onto the field and set its value to 10 000 000 000.
  13. Drag an 'arc' block onto the field and set 'angle' to -180 and 'radius' to 75.
  14. Run the sequence.
Expected Results
and Pass Criteria
Confirm that the drawing surface:
  • Shows a perfect square with a semi-circle on top of it.
  • The turtle positioned at the top left corner of the square, facing the bottom of the display.
Comments Rationale:
  • The equivalence partitions for the 'forward' and 'back' blocks are {Negative Number, Positive Number, Large Positive Number}
  • The equivalence partitions for the 'left' and 'right' blocks are {Negative Number, Positive Number < 360, Positive Number > 360}
  • It is assumed that the blocks function independently, so a member from each partition is tried once against each block.
  • This test sequence itself follows a simple use case: the user wants to draw a box with a dome on top.
Release Stream Build Pass/Fail Trac Ticket(s) Comment(s) Date of Test
8.2.0 (767) warning.png"" cannot be used as a page name in this wiki. 45 Fail Failures
  • The semi-circle portion of the test drawing does not appear as expected.
  • The turtle itself is no longer visible after the test has run.

These results are traced to steps 11 and 12: when the turtle is moved off the screen by a large number and then instructed to come back by the same amount, it doesn't come back. Using the 'print' block to show the x or y co-ordinate will print the expected value and the turtle then returns to that position upon executing the print command. Also, clicking the 'clear' button immediately after running the test sequence does not recenter the turtle at (0, 0) however using the 'setyx' command works as expected.

2009/03/29



Turtle Art Boolean Logic 1 Tests

Test case: Boolean Logic 1
How to report results

Stream
Category Activity Sub-category TurtleArt
Component TurtleArt
Feature http://wiki.laptop.org/go/Turtleart
Objective Tests 'Greater Than', 'Less Than' and 'Equals' functional blocks.
Tools None
Setup --
  1. Open the TurtleArt activity.
  2. Drag an 'if' block onto the field.
  3. Drag a spacer to the 'then' area of the 'if' block.
  4. Drag a 'forward' block to the bottom of the spacer.
  5. Drag a 'back' block into the 'else' area of the 'if' block.
Procedure Test Procedure (repeat for all test values below):
  1. Click the 'clean' button at the top of the screen.
  2. Drag the specified block-under-test into the 'if' block's condition area.
  3. Drag a 'number' field into the left position of block-under-test and set it to the value specified by the test (Left).
  4. Drag a 'number' field into the right position of block-under-test and set it to the value specified by the test (Right).
  5. Run the sequence.
  6. The turtle should move either up or down. Make sure the direction of movement matches the expected direction.

Test Values:

#LeftRight
[Equal]
1.-999-999
2.234234
3.00
[Left > Right]
4.-34-56
5.0-56
6.23-56
7.230
8.233
[Left < Right]
9.-78-34
10.-780
11.-7811
12.011
13.411
Expected Results
and Pass Criteria
--
Block'Equal' Partition'Left > Right' Partition'Left < Right' Partition
">" down up down
"<" down down up
"=" up down down
Comments Rationale:
  • The inputs are chosen from the equivalence partition { Negative, Zero, Positive }
  • Input combinations were chosen to give a variety of outputs, for each partition. Boundary values are also tested.
Release Stream Build Pass/Fail Trac Ticket(s) Comment(s) Date of Test
8.2.0 (767) warning.png"" cannot be used as a page name in this wiki. 45 Pass All blocks exhibit the expected behavior 2009/03/29


Facts about Tests/Activity/TurtleArtRDF feed
Build number 763  +, and 45  +
Build stream Any  +info.pngLink to builds in stream, Packages in stream, ChangeLog, Differences vs joyride , 8.2  +info.pngLink to builds in stream, Packages in stream, ChangeLog, Differences vs joyride , and warning.png"" cannot be used as a page name in this wiki.
Comments turtleart-26, All logic operators work as expected., Failures:
  • The test cases 27 and 28 (divis Failures:
  • The test cases 27 and 28 (division by zero) silently returns zero as the result, however should raise a #syntaxerror to let the user know that this error has occurred.
  • The test case 31 (square root of -1) does not show a #syntaxerror. Further investigation found that this operation returns NaN, which causes the turtle to move forwards by NaN in this test setup. The result of this is that the turtle appears to jump to (0, 0) and won’t move again until the ‘clear’ instruction is executed. until the ‘clear’ instruction is executed., Failures
  • The semi-circle portion of the t Failures
  • The semi-circle portion of the test drawing does not appear as expected.
  • The turtle itself is no longer visible after the test has run.
These results are traced to steps 11 and 12: when the turtle is moved off the screen by a large number and then instructed to come back by the same amount, it doesn't come back. Using the 'print' block to show the x or y co-ordinate will print the expected value and the turtle then returns to that position upon executing the print command. Also, clicking the 'clear' button immediately after running the test sequence does not recenter the turtle at (0, 0) however using the 'setyx' command works as expected. ing the 'setyx' command works as expected., and All blocks exhibit the expected behavior
Created 4 January 2009  +, and 29 March 2009  +
More notes warning.pngEmpty strings are not accepted. , Rationale:
  • Since these functions take two Rationale:
  • Since these functions take two boolean inputs, it is feasable to test all possible combinations.
  • A pairwise approach is used to test the 'NOT' operator at the same time: All inputs to 'NOT' are tested while testing the outer logic operators without duplication. outer logic operators without duplication., Assumptions:
  • All outputs are truncated to Assumptions:
  • All outputs are truncated to 1 decimal place.
  • Mathematically invalid operations should show a #syntaxerror
  • Arithmetic overflow is not likely to be a problem for the range of values required, hence is not tested.

Rationale

  • Moving the turtle and then checking its Y co-ordinate is used rather than directly checking the output from the math function is done because the print function itself seems to catch errors and write '0' regardless, whereas moving the turtle reveals these errors. Furthermore, moving the turtle again after the test indicates that the program is left in a working state.
  • Equivalence partitioning is used since the math functions take at most 2 inputs, and the number tests required to provide sufficient coverage is optimal.
  • Addition, Subtraction, Multiplication, Division & Modulo: Values are chosen from the partition class {Negative Real Number, 0.0, Positive Real Number}
  • Square Root: Values tested include {-1 (invalid), 0, 1, 4 (integer result), 7 (irrational result)}. These values were selected using Boundary Analysis. ues were selected using Boundary Analysis., Rationale:
  • The equivalence partitions for Rationale:
  • The equivalence partitions for the 'forward' and 'back' blocks are {Negative Number, Positive Number, Large Positive Number}
  • The equivalence partitions for the 'left' and 'right' blocks are {Negative Number, Positive Number < 360, Positive Number > 360}
  • It is assumed that the blocks function independently, so a member from each partition is tried once against each block.
  • This test sequence itself follows a simple use case: the user wants to draw a box with a dome on top. er wants to draw a box with a dome on top., and Rationale:
  • The inputs are chosen from the equivalence partition { Negative, Zero, Positive }
  • Input combinations were chosen to give a variety of outputs, for each partition. Boundary values are also tested.
Pass criteria The first time you run Turtle Art, it take The first time you run Turtle Art, it takes about 30 seconds to load. You'll see a mostly blank screen after the initial flashing of the icon. Subsequently, the loading time is ~5 seconds (on an OLPC-XO-1 laptop).

When you click on the print brick as per the procedures above, you should see the mic light flash on (on an OLPC-XO-1 laptop) and the current volume displayed in the lower-left corner of the screen. ed in the lower-left corner of the screen., The direction of movement by the turtle matches each direction specified in the test values table., All outputs from the 'print' command match the expected values listed in the table., Confirm that the drawing surface:

  • Shows a perfect square with a semi-circle on top of it.
  • The turtle positioned at the top left corner of the square, facing the bottom of the display., and --

<table border="1" cellspacing="0"&gt -- <table border="1" cellspacing="0"> <tr><th>Block</th><th>'Equal' Partition</th><th>'Left > Right' Partition</th><th>'Left < Right' Partition</th></tr> <tr><td>">" </td><td>down </td><td>up </td><td>down</td></tr> <tr><td>"<" </td><td>down </td><td>down </td><td>up</td></tr> <tr><td>"=" </td><td>up </td><td>down </td><td>down</td></tr> </table> ;down</td></tr>

</table>
PassFail Pass  +, and Fail  +
Short name TurtleArt Activity  +, Boolean Logic 2  +, Arithmetic  +, Movement  +, and Boolean Logic 1  +
Software release Candidate  +, and 8.2.0 (767)  +
System component Turtle Art  +, and TurtleArt  +
System feature http://wiki.laptop.org/go/Turtleart  +
Test category Activity  +
Test objective basic functional testing  +, Tests AND, OR and NOT blocks.  +, Tests basic arithmetic operations  +, Tests basic turtle movement  +, and Tests 'Greater Than', 'Less Than' and 'Equals' functional blocks.  +
Test procedure # Activity installs from download (if not # Activity installs from download (if not part of default installation) from website or USB key
  1. Activity starts up
  2. You can re-name the activity
  3. User specific data can be created
    1. drag a print brick onto the field (under the numbers tab)
    2. drag a volume brick onto the field (under the sensors tab)
    3. attach the volume brick to the print brick
    4. click on the print brick
  4. You can force a save
  5. Activity closes properly from inside the activity
  6. You can resume the activity from the Journal
  7. You see the user specific data after resume
  8. You can close the activity from the Sugar frame an close the activity from the Sugar frame, Test Procedure (repeat for all test values Test Procedure (repeat for all test values below):

For a 'true' block, place an 'Equals' block on the field with the numbers '100' and '100'. For a 'false' block, place an 'Equals' block on the field with the numbers '100' and '1'.

  1. Place the first truth value on the field, into the criteria area of the 'IF' statement.
  2. Place the 'AND' or 'OR' block-under-test on the field attached to the right of the first truth value.
  3. If the 'NOT' operator is specified by the test, add this immediately into the right side of the logic operator block.
  4. Place the second truth value on the field, into the last block added.
  5. Run the sequence.
  6. The turtle should move either up or down. Make sure the direction of movement matches the expected direction.

Test Values: <table border="1" cellspacing="0"> <tr><th>#</th><th>Left Truth Value</th><th>Right Truth Value</th><th>Expected Movement Direction</th></tr> <tr><td colspan="4">[AND]</td></tr> <tr><td>1.</td><td>False</td><td>NOT True</td><td>down</td></tr> <tr><td>2.</td><td>True</td><td>False</td><td>down</td></tr> <tr><td>3.</td><td>False</td><td>NOT false</td><td>down</td></tr> <tr><td>4.</td><td>True</td><td>True</td><td>up</td></tr> <tr><td colspan="4">[OR]</td></tr> <tr><td>5.</td><td>False</td><td>NOT True</td><td>down</td></tr> <tr><td>6.</td><td>True</td><td>False</td><td>up</td></tr> <tr><td>7.</td><td>False</td><td>NOT false</td><td>up</td></tr> <tr><td>8.</td><td>True</td><td>True</td><td>up</td></tr> </table> gt;up</td></tr> </table>, Test Procedure (repeat for all test values Test Procedure (repeat for all test values below):<br />

  1. Click the 'clean' button at the top of the screen.
  2. Connect the math function under test to the input of the first 'forward' statement.
  3. Change the default values to the values specified by the test.
  4. Run the sequence.
  5. Make sure the value printed to the output matches the expected value.
  6. In all cases, the turtle must have moved upwards, be at the upmost position of the drawn line and facing upwards.

Test Values: <table border="1" cellspacing="0"> <tr><th>#</th><th>Top Value</th><th>Bottom Value</th><th>Expected Result</th></tr> <tr><td colspan="4">[Addition]</td></tr> <tr><td>1.</td><td>23.2</td><td>12.3</td><td>135.5</td></tr> <tr><td>2.</td><td>-32.4</td><td>2.8</td><td>70.4</td></tr> <tr><td>3.</td><td>5.6</td><td>-9.8</td><td>95.8</td></tr> <tr><td>4.</td><td>-07</td><td>-2</td><td>91.0</td></tr> <tr><td>5.</td><td>0.0</td><td>3.5</td><td>103.5</td></tr> <tr><td>6.</td><td>4.6</td><td>0.0</td><td>104.6</td></tr> <tr><td>7.</td><td>0.0</td><td>0.0</td><td>100.0</td></tr> <tr><td colspan="4">[Subtraction]</td></tr> <tr><td>8.</td><td>23.2</td><td>12.3 </td><td>110.9</td></tr> <tr><td>9.</td><td>-32.4</td><td>2.8 </td><td>64.8</td></tr> <tr><td>10.</td><td>5.6</td><td>-9.8</td><td>115.4</td></tr> <tr><td>11.</td><td>-07</td><td>-2</td><td>95.0</td></tr> <tr><td>12.</td><td>0.0</td><td>3.5</td><td>96.5</td></tr> <tr><td>13.</td><td>4.6</td><td>0.0</td><td>104.6</td></tr> <tr><td>14.</td><td>0.0</td><td>0.0</td><td>100.0</td></tr> <tr><td colspan="4">[Multiplication]</td></tr> <tr><td>15.</td><td>2.2</td><td>2</td><td>104.4</td></tr> <tr><td>16.</td><td>-2.4</td><td>3</td><td>92.8</td></tr> <tr><td>17.</td><td>5</td><td>-9.8</td><td>51.0</td></tr> <tr><td>18.</td><td>-07</td><td>-2</td><td>114.0</td></tr> <tr><td>19.</td><td>0.0</td><td>3.5</td><td>100.0</td></tr> <tr><td>20.</td><td>-4.6</td><td>0.0</td><td>100.0</td></tr> <tr><td>21.</td><td>0.0</td><td>0.0</td><td>100.0</td></tr> <tr><td colspan="4">[Division]</td></tr> <tr><td>22.</td><td>2.2</td><td>2</td><td>101.1</td></tr> <tr><td>23.</td><td>-2.4</td><td>3</td><td>99.2</td></tr> <tr><td>24.</td><td>5</td><td>-9.8</td><td>99.4</td></tr> <tr><td>25.</td><td>-07</td><td>-2</td><td>103.5</td></tr> <tr><td>26.</td><td>0.0</td><td>3.5</td><td>100.0</td></tr> <tr><td>27.</td><td>-4.6</td><td>0.0</td><td>Error message</td></tr> <tr><td>28.</td><td>0.0</td><td>0.0</td><td>Error message</td></tr> <tr><td colspan="4">[Modulo Values]</td></tr> <tr><td>29.</td><td>18</td><td>8</td><td>102.0</td></tr> <tr><td>30.</td><td>-2.4</td><td>3</td><td>100.6</td></tr> <tr><td>31.</td><td>5</td><td>-9.8</td><td>95.2</td></tr> <tr><td>32.</td><td>-07</td><td>-2</td><td>99.0</td></tr> <tr><td>33.</td><td>0.0</td><td>3.5</td><td>100.0</td></tr> <tr><td>34.</td><td>-4.6</td><td>0.0</td><td>Error message</td></tr> <tr><td>35.</td><td>0.0</td><td>0.0</td><td>Error message</td></tr> <tr><td colspan="4">[Square Root Values]</td></tr> <tr><td>36.</td><td colspan="2">-1 </td><td>Error message</td></tr> <tr><td>37.</td><td colspan="2">0 </td><td>100.0</td></tr> <tr><td>38.</td><td colspan="2">1 </td><td>101.0</td></tr> <tr><td>39.</td><td colspan="2">4 </td><td>102.0</td></tr> <tr><td>40.</td><td colspan="2">7 </td><td>102.6</td></tr> </table> 102.6</td></tr> </table>, [NOTE: Each block should be connected imme [NOTE: Each block should be connected immediately below the previous block]

  1. Open the TurtleArt activity.
  2. Drag a 'seth' block onto the field, and set it to -90
  3. Drag a 'forward' block onto the field and set its value to 150.
  4. Drag a 'left' block onto the field and set its value to 270.
  5. Drag a 'back' block onto the field and set its value to 150.
  6. Drag a 'right' block onto the field and set its value to -270.
  7. Drag a 'back' block onto the field and set its value to -150.
  8. Drag a 'left' block onto the field and set its value to 630.
  9. Drag a 'forward' block onto the field and set its value to -150.
  10. Drag a 'right' block onto the field and set its value to 540.
  11. Drag a 'forward' block onto the field and set its value to 10 000 000 000.
  12. Drag a 'back' block onto the field and set its value to 10 000 000 000.
  13. Drag an 'arc' block onto the field and set 'angle' to -180 and 'radius' to 75.
  14. Run the sequence. 180 and 'radius' to 75.
  15. Run the sequence., and Test Procedure (repeat for all test values Test Procedure (repeat for all test values below):
  16. Click the 'clean' button at the top of the screen.
  17. Drag the specified block-under-test into the 'if' block's condition area.
  18. Drag a 'number' field into the left position of block-under-test and set it to the value specified by the test (Left).
  19. Drag a 'number' field into the right position of block-under-test and set it to the value specified by the test (Right).
  20. Run the sequence.
  21. The turtle should move either up or down. Make sure the direction of movement matches the expected direction.

Test Values: <table border="1" cellspacing="0"> <tr><th>#</th><th width="80">Left</th><th width="80">Right</th></tr> <tr><td colspan="3">[Equal]</td></tr> <tr><td>1.</td><td>-999</td><td>-999</td></tr> <tr><td>2.</td><td>234</td><td>234</td></tr> <tr><td>3.</td><td>0</td><td>0</td></tr>

<tr><td colspan="3">[Left > Right]</td></tr> <tr><td>4.</td><td>-34</td><td>-56</td></tr> <tr><td>5.</td><td>0</td><td>-56</td></tr> <tr><td>6.</td><td>23</td><td>-56</td></tr> <tr><td>7.</td><td>23</td><td>0</td></tr> <tr><td>8.</td><td>23</td><td>3</td></tr>

<tr><td colspan="3">[Left < Right]</td></tr> <tr><td>9.</td><td>-78</td><td>-34</td></tr> <tr><td>10.</td><td>-78</td><td>0</td></tr> <tr><td>11.</td><td>-78</td><td>11</td></tr> <tr><td>12.</td><td>0</td><td>11</td></tr> <tr><td>13.</td><td>4</td><td>11</td></tr> </table> gt;11</td></tr>

</table>
Test setup n/a, --
  1. Open the TurtleArt activity.
  2. Drag an 'if' block onto the field.
  3. Drag a spacer to the 'then' area of the 'if' block.
  4. Drag a 'forward' block to the bottom of the spacer.
  5. Drag a 'back' block into the 'else' area of the 'if' block., --
  6. Open the TurtleArt activity.
  7. Drag a ' --
  8. Open the TurtleArt activity.
  9. Drag a 'forward' block onto the field and remove it's value by dragging it onto the toolbox.
  10. Connect another 'forward' block immediately below the first 'forward' block. Leave its value as 100.
  11. Connect a 'print' block immediately below the last 'forward' block.
  12. Place a 'ycor' value in the print block.
  13. Place a 'ycor' value in the print block., and warning.pngEmpty strings are not accepted.
Test subcategory TurtleArt  +
Test tools n/a  +, and None  +
Personal tools
  • Log in
  • Login with OpenID
About OLPC
About the laptop
About the tablet
Projects
OLPC wiki
Toolbox