def METHOD_NAME(self) -> None:
    self.assert_split_list("1", expected=["1"])
    self.assert_split_list("foo", expected=["foo"])
    self.assert_split_list("1,2", expected=["1,2"])
    self.assert_split_list("[1,2]", expected=["[1,2]"])
    self.assert_split_list("[1,2],[3,4]", expected=["[1,2],[3,4]"])
    self.assert_split_list("+[1,2],[3,4]", expected=["+[1,2],[3,4]"])
    self.assert_split_list("[1,2],-[3,4]", expected=["[1,2],-[3,4]"])
    self.assert_split_list("+[1,2],foo", expected=["+[1,2],foo"])
    self.assert_split_list("+[1,2],-[3,4]", expected=["+[1,2]", "-[3,4]"])
    self.assert_split_list("-[1,2],+[3,4]", expected=["-[1,2]", "+[3,4]"])
    self.assert_split_list(
        "-[1,2],+[3,4],-[5,6],+[7,8]", expected=["-[1,2]", "+[3,4]", "-[5,6]", "+[7,8]"]
    )
    self.assert_split_list("+[-1,-2],-[-3,-4]", expected=["+[-1,-2]", "-[-3,-4]"])
    self.assert_split_list('+["-"],-["+"]', expected=['+["-"]', '-["+"]'])
    self.assert_split_list('+["+[3,4]"],-["-[4,5]"]', expected=['+["+[3,4]"]', '-["-[4,5]"]'])
    # Spot-check that this works with literal tuples as well as lists.
    self.assert_split_list("+(1,2),-(3,4)", expected=["+(1,2)", "-(3,4)"])
    self.assert_split_list(
        "-[1,2],+[3,4],-(5,6),+[7,8]", expected=["-[1,2]", "+[3,4]", "-(5,6)", "+[7,8]"]
    )
    self.assert_split_list("+(-1,-2),-[-3,-4]", expected=["+(-1,-2)", "-[-3,-4]"])
    self.assert_split_list('+("+(3,4)"),-("-(4,5)")', expected=['+("+(3,4)")', '-("-(4,5)")'])
    # Check that whitespace around the comma is OK.
    self.assert_split_list("+[1,2] , -[3,4]", expected=["+[1,2]", "-[3,4]"])
    self.assert_split_list("+[1,2]    ,-[3,4]", expected=["+[1,2]", "-[3,4]"])
    self.assert_split_list("+[1,2] ,     -[3,4]", expected=["+[1,2]", "-[3,4]"])
    # We will split some invalid expressions, but that's OK, we'll error out later on the
    # broken components.
    self.assert_split_list("+1,2],-[3,4", expected=["+1,2]", "-[3,4"])
    self.assert_split_list("+(1,2],-[3,4)", expected=["+(1,2]", "-[3,4)"])