code: def test_repeat_1_simple(self) -> None:
      grammar = """
          start: thing thing+ NEWLINE
          thing: NUMBER
          """
      parser_class = make_parser(grammar)
      node = parse_string("1 2 3\n", parser_class)
      self.assertEqual(
          node,
          [
              TokenInfo(
                  NUMBER,
                  string="1",
                  start=(1, 0),
                  end=(1, 1),
                  line="1 2 3\n",
              ),
              [
                  TokenInfo(
                      NUMBER,
                      string="2",
                      start=(1, 2),
                      end=(1, 3),
                      line="1 2 3\n",
                  ),
                  TokenInfo(
                      NUMBER,
                      string="3",
                      start=(1, 4),
                      end=(1, 5),
                      line="1 2 3\n",
                  ),
              ],
              TokenInfo(
                  NEWLINE,
                  string="\n",
                  start=(1, 5),
                  end=(1, 6),
                  line="1 2 3\n",
              ),
          ],
      )
      with self.assertRaises(SyntaxError):
          parse_string("1\n", parser_class)
  
imports: import ast
  import difflib
  import io
  import textwrap
  import unittest
  from test import test_tools
  from typing import Dict, Any
  from tokenize import TokenInfo, NAME, NEWLINE, NUMBER, OP
label_desc: Use image node_id 12 for calling the TestPegen obj's underlying member method code with example usage: obj.test_repeat_1_simple() without return types