<commit_before>{
  "exercise": "robot-simulator",
  "version": "2.3.0",
  "comments": [
    "Some tests have two expectations: one for the position, one for the direction",
    "Optionally, you can also test",
    " - An invalid direction throws an error",
    " - An invalid instruction throws an error",
    " - Default starting position and direction if none are provided"
  ],
  "cases": [
    {
      "description": "A robot is created with a position and a direction",
      "cases": [
        {
          "description": "Robots are created with a position and direction",
          "property": "create",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          }
        },
        {
          "description": "Negative positions are allowed",
          "property": "create",
          "input": {
            "position": {
              "x": -1,
              "y": -1
            },
            "direction": "south"
          },
          "expected": {
            "position": {
              "x": -1,
              "y": -1
            },
            "direction": "south"
          }
        }
      ]
    },
    {
      "description": "rotates the robot's direction 90 degrees clockwise",
      "cases": [
        {
          "description": "changes the direction from north to east",
          "property": "turnRight",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east"
          }
        },
        {
          "description": "changes the direction from east to south",
          "property": "turnRight",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south"
          }
        },
        {
          "description": "changes the direction from south to west",
          "property": "turnRight",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west"
          }
        },
        {
          "description": "changes the direction from west to north",
          "property": "turnRight",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          }
        }
      ]
    },
    {
      "description": "rotates the robot's direction 90 degrees counter-clockwise",
      "cases": [
        {
          "description": "changes the direction from north to west",
          "property": "turnLeft",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west"
          }
        },
        {
          "description": "changes the direction from west to south",
          "property": "turnLeft",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south"
          }
        },
        {
          "description": "changes the direction from south to east",
          "property": "turnLeft",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east"
          }
        },
        {
          "description": "changes the direction from east to north",
          "property": "turnLeft",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          }
        }
      ]
    },
    {
      "description": "moves the robot forward 1 space in the direction it is pointing",
      "cases": [
        {
          "description": "increases the y coordinate one when facing north",
          "property": "advance",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 1
            },
            "direction": "north"
          }
        },
        {
          "description": "decreases the y coordinate by one when facing south",
          "property": "advance",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": -1
            },
            "direction": "south"
          }
        },
        {
          "description": "increases the x coordinate by one when facing east",
          "property": "advance",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east"
          },
          "expected": {
            "position": {
              "x": 1,
              "y": 0
            },
            "direction": "east"
          }
        },
        {
          "description": "decreases the x coordinate by one when facing west",
          "property": "advance",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west"
          },
          "expected": {
            "position": {
              "x": -1,
              "y": 0
            },
            "direction": "west"
          }
        }
      ]
    },
    {
      "description": "Where R = Turn Right, L = Turn Left and A = Advance, the robot can follow a series of instructions and end up with the correct position and direction",
      "cases": [
        {
          "description": "instructions to move west and north",
          "property": "instructions",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north",
            "instructions": "LAAARALA"
          },
          "expected": {
            "position": {
              "x": -4,
              "y": 1
            },
            "direction": "west"
          }
        },
        {
          "description": "instructions to move west and south",
          "property": "instructions",
          "input": {
            "position": {
              "x": 2,
              "y": -7
            },
            "direction": "east",
            "instructions": "RRAAAAALA"
          },
          "expected": {
            "position": {
              "x": -3,
              "y": -8
            },
            "direction": "south"
          }
        },
        {
          "description": "instructions to move east and north",
          "property": "instructions",<commit_msg>robot-simulator: remove intermediate methods from test data<commit_after>{
  "exercise": "robot-simulator",
  "version": "3.0.0",
  "comments": [
    "Some tests have two expectations: one for the position, one for the direction",
    "Optionally, you can also test",
    " - An invalid direction throws an error",
    " - An invalid instruction throws an error",
    " - Default starting position and direction if none are provided"
  ],
  "cases": [
    {
      "description": "A robot is created with a position and a direction",
      "cases": [
        {
          "description": "Robots are created with a position and direction",
          "property": "create",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          }
        },
        {
          "description": "Negative positions are allowed",
          "property": "create",
          "input": {
            "position": {
              "x": -1,
              "y": -1
            },
            "direction": "south"
          },
          "expected": {
            "position": {
              "x": -1,
              "y": -1
            },
            "direction": "south"
          }
        }
      ]
    },
    {
      "description": "rotates the robot's direction 90 degrees clockwise",
      "cases": [
        {
          "description": "changes the direction from north to east",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north",
            "instructions": "R"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east"
          }
        },
        {
          "description": "changes the direction from east to south",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east",
            "instructions": "R"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south"
          }
        },
        {
          "description": "changes the direction from south to west",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south",
            "instructions": "R"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west"
          }
        },
        {
          "description": "changes the direction from west to north",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west",
            "instructions": "R"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          }
        }
      ]
    },
    {
      "description": "rotates the robot's direction 90 degrees counter-clockwise",
      "cases": [
        {
          "description": "changes the direction from north to west",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north",
            "instructions": "L"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west"
          }
        },
        {
          "description": "changes the direction from west to south",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west",
            "instructions": "L"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south"
          }
        },
        {
          "description": "changes the direction from south to east",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south",
            "instructions": "L"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east"
          }
        },
        {
          "description": "changes the direction from east to north",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east",
            "instructions": "L"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north"
          }
        }
      ]
    },
    {
      "description": "moves the robot forward 1 space in the direction it is pointing",
      "cases": [
        {
          "description": "increases the y coordinate one when facing north",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north",
            "instructions": "A"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": 1
            },
            "direction": "north"
          }
        },
        {
          "description": "decreases the y coordinate by one when facing south",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "south",
            "instructions": "A"
          },
          "expected": {
            "position": {
              "x": 0,
              "y": -1
            },
            "direction": "south"
          }
        },
        {
          "description": "increases the x coordinate by one when facing east",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "east",
            "instructions": "A"
          },
          "expected": {
            "position": {
              "x": 1,
              "y": 0
            },
            "direction": "east"
          }
        },
        {
          "description": "decreases the x coordinate by one when facing west",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "west",
            "instructions": "A"
          },
          "expected": {
            "position": {
              "x": -1,
              "y": 0
            },
            "direction": "west"
          }
        }
      ]
    },
    {
      "description": "Where R = Turn Right, L = Turn Left and A = Advance, the robot can follow a series of instructions and end up with the correct position and direction",
      "cases": [
        {
          "description": "instructions to move east and north",
          "property": "move",
          "input": {
            "position": {
              "x": 7,
              "y": 3
            },
            "direction": "north",
            "instructions": "RAALAL"
          },
          "expected": {
            "position": {
              "x": 9,
              "y": 4
            },
            "direction": "west"
          }
        },
        {
          "description": "instructions to move west and north",
          "property": "move",
          "input": {
            "position": {
              "x": 0,
              "y": 0
            },
            "direction": "north",
            "instructions": "LAAARALA"
          },
          "expected": {
            "position": {
              "x": -4,
              "y": 1
            },
            "direction": "west"
          }
        },
        {
          "description": "instructions to move west and south",
          "property": "move",
          "input": {
            "position": {
              "x": 2,
              "y": -7
            },
            "direction": "east",
            "instructions": "RRAAAAALA"
          },
          "expected": {
            "position": {
              "x": -3,
              "y": -8
            },
            "direction": "south"
          }
        },
        {
          "description": "instructions to move east and north",
          "property": "move",
{'fraction_non_alphanumeric': 0.14242282507015902, 'fraction_numerical': 0.008652946679139382, 'mean_word_length': 0.9268897149938042, 'pattern_counts': {'":': 445, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1206218', 'n_tokens_mistral': 4549, 'n_tokens_neox': 4371, 'n_words': 1158}