bpo-38870: Do not separate factor prefixes in ast.unparse (GH-20133)

diff --git a/Lib/test/test_unparse.py b/Lib/test/test_unparse.py
index 2be44b2..1393bcc 100644
--- a/Lib/test/test_unparse.py
+++ b/Lib/test/test_unparse.py
@@ -347,7 +347,7 @@
         self.check_src_roundtrip("(1 + 2) / 3")
         self.check_src_roundtrip("(1 + 2) * 3 + 4 * (5 + 2)")
         self.check_src_roundtrip("(1 + 2) * 3 + 4 * (5 + 2) ** 2")
-        self.check_src_roundtrip("~ x")
+        self.check_src_roundtrip("~x")
         self.check_src_roundtrip("x and y")
         self.check_src_roundtrip("x and y and z")
         self.check_src_roundtrip("x and (y and x)")
@@ -401,6 +401,12 @@
                 self.check_ast_roundtrip(src)
                 self.check_src_dont_roundtrip(src)
 
+    def test_unary_op_factor(self):
+        for prefix in ("+", "-", "~"):
+            self.check_src_roundtrip(f"{prefix}1")
+        for prefix in ("not",):
+            self.check_src_roundtrip(f"{prefix} 1")
+
 class DirectoryTestCase(ASTTestCase):
     """Test roundtrip behaviour on all files in Lib and Lib/test."""