{
    "version": "1.0",
    "testCases": [
      {
        "documentation": "substring when string is long enough",
        "params": {
          "TestCaseId": "1",
          "Input": "abcdefg"
        },
        "expect": {
          "error": "The value is: `abcd`"
        }
      },
      {
        "documentation": "substring when string is exactly the right length",
        "params": {
          "TestCaseId": "1",
          "Input": "abcd"
        },
        "expect": {
          "error": "The value is: `abcd`"
        }
      },
      {
        "documentation": "substring when string is too short",
        "params": {
          "TestCaseId": "1",
          "Input": "abc"
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "substring when string is too short",
        "params": {
          "TestCaseId": "1",
          "Input": ""
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "substring on wide characters (ensure that unicode code points are properly counted)",
        "params": {
          "TestCaseId": "1",
          "Input": "\ufdfd"
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "unicode characters always return `None`",
        "params": {
          "TestCaseId": "1",
          "Input": "abcdef\uD83D\uDC31"
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "non-ascii cause substring to always return `None`",
        "params": {
          "TestCaseId": "1",
          "Input": "abcdef\u0080"
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "the full set of ascii is supported, including non-printable characters",
        "params": {
          "TestCaseId": "1",
          "Input": "\u007Fabcdef"
        },
        "expect": {
          "error": "The value is: `\u007Fabc`"
        }
      },
      {
        "documentation": "substring when string is long enough",
        "params": {
          "TestCaseId": "2",
          "Input": "abcdefg"
        },
        "expect": {
          "error": "The value is: `defg`"
        }
      },
      {
        "documentation": "substring when string is exactly the right length",
        "params": {
          "TestCaseId": "2",
          "Input": "defg"
        },
        "expect": {
          "error": "The value is: `defg`"
        }
      },
      {
        "documentation": "substring when string is too short",
        "params": {
          "TestCaseId": "2",
          "Input": "abc"
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "substring when string is too short",
        "params": {
          "TestCaseId": "2",
          "Input": ""
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "substring on wide characters (ensure that unicode code points are properly counted)",
        "params": {
          "TestCaseId": "2",
          "Input": "\ufdfd"
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "substring when string is longer",
        "params": {
          "TestCaseId": "3",
          "Input": "defg"
        },
        "expect": {
          "error": "The value is: `ef`"
        }
      },
      {
        "documentation": "substring when string is exact length",
        "params": {
          "TestCaseId": "3",
          "Input": "def"
        },
        "expect": {
          "error": "The value is: `ef`"
        }
      },
      {
        "documentation": "substring when string is too short",
        "params": {
          "TestCaseId": "3",
          "Input": "ab"
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "substring when string is too short",
        "params": {
          "TestCaseId": "3",
          "Input": ""
        },
        "expect": {
          "error": "No tests matched"
        }
      },
      {
        "documentation": "substring on wide characters (ensure that unicode code points are properly counted)",
        "params": {
          "TestCaseId": "3",
          "Input": "\ufdfd"
        },
        "expect": {
          "error": "No tests matched"
        }
      }
    ]
  }