approval-utilities 10.4.0__tar.gz → 11.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of approval-utilities might be problematic. Click here for more details.

Files changed (65) hide show
  1. {approval_utilities-10.4.0/approval_utilities.egg-info → approval_utilities-11.1.0}/PKG-INFO +1 -1
  2. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/list_utils.py +1 -1
  3. {approval_utilities-10.4.0 → approval_utilities-11.1.0/approval_utilities.egg-info}/PKG-INFO +1 -1
  4. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities.egg-info/SOURCES.txt +2 -0
  5. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_combinations.py +8 -0
  6. approval_utilities-11.1.0/tests/test_parse_inputs.py +84 -0
  7. approval_utilities-11.1.0/tests/test_verify_all.py +10 -0
  8. approval_utilities-11.1.0/version.py +1 -0
  9. approval_utilities-10.4.0/version.py +0 -1
  10. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/LICENSE +0 -0
  11. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/MANIFEST.in +0 -0
  12. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/README.md +0 -0
  13. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/__init__.py +0 -0
  14. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/approvaltests/__init__.py +0 -0
  15. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/approvaltests/core/__init__.py +0 -0
  16. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/approvaltests/core/executable_command.py +0 -0
  17. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/approvaltests/core/verifiable.py +0 -0
  18. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/approvaltests/core/verify_parameters.py +0 -0
  19. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/__init__.py +0 -0
  20. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/clipboard_utilities.py +0 -0
  21. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/deprecated.py +0 -0
  22. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/exceptions/__init__.py +0 -0
  23. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/exceptions/exception_collector.py +0 -0
  24. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/exceptions/exception_utils.py +0 -0
  25. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/exceptions/multiple_exceptions.py +0 -0
  26. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/logger/__init__.py +0 -0
  27. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/logger/logging_instance.py +0 -0
  28. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/logger/simple_logger.py +0 -0
  29. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/map_reduce.py +0 -0
  30. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/markdown_table.py +0 -0
  31. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/multiline_string_utils.py +0 -0
  32. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/os_utilities.py +0 -0
  33. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/persistence/__init__.py +0 -0
  34. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/persistence/loader.py +0 -0
  35. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/persistence/saver.py +0 -0
  36. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/stack_frame_utilities.py +0 -0
  37. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/string_wrapper.py +0 -0
  38. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/time_utilities.py +0 -0
  39. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utilities/wrapper.py +0 -0
  40. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities/utils.py +0 -0
  41. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities.egg-info/dependency_links.txt +0 -0
  42. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/approval_utilities.egg-info/top_level.txt +0 -0
  43. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/requirements.prod.extras.txt +0 -0
  44. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/requirements.prod.required.txt +0 -0
  45. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/requirements.prod.txt +0 -0
  46. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/setup.cfg +0 -0
  47. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/setup.py +0 -0
  48. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/setup_utils.py +0 -0
  49. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_asserts.py +0 -0
  50. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_custom_printers.py +0 -0
  51. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_example_numpy.py +0 -0
  52. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_exception_utils.py +0 -0
  53. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_fileapprover.py +0 -0
  54. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_inline_approvals.py +0 -0
  55. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_list.py +0 -0
  56. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_multiline_string_utils.py +0 -0
  57. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_namer.py +0 -0
  58. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_options.py +0 -0
  59. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_pairwise_combinations.py +0 -0
  60. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_python_patterns.py +0 -0
  61. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_scenarios.py +0 -0
  62. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_simple_logger.py +0 -0
  63. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_split_code.py +0 -0
  64. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_verify.py +0 -0
  65. {approval_utilities-10.4.0 → approval_utilities-11.1.0}/tests/test_writer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: approval_utilities
3
- Version: 10.4.0
3
+ Version: 11.1.0
4
4
  Summary: Utilities for your production code that work well with approvaltests
5
5
  Home-page: https://github.com/approvals/ApprovalTests.Python
6
6
  Author: ApprovalTests Contributors
@@ -4,7 +4,7 @@ from typing import Callable, List, Optional
4
4
  def format_list(alist: List[str], formatter: Optional[Callable], header: str) -> str:
5
5
  if formatter is None:
6
6
  formatter = FormatLineItem().print_item
7
- text = header + "\n\n"
7
+ text = (header + "\n\n") if header else ""
8
8
  for i in alist:
9
9
  text += formatter(i) + "\n"
10
10
  return text
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: approval_utilities
3
- Version: 10.4.0
3
+ Version: 11.1.0
4
4
  Summary: Utilities for your production code that work well with approvaltests
5
5
  Home-page: https://github.com/approvals/ApprovalTests.Python
6
6
  Author: ApprovalTests Contributors
@@ -53,9 +53,11 @@ tests/test_multiline_string_utils.py
53
53
  tests/test_namer.py
54
54
  tests/test_options.py
55
55
  tests/test_pairwise_combinations.py
56
+ tests/test_parse_inputs.py
56
57
  tests/test_python_patterns.py
57
58
  tests/test_scenarios.py
58
59
  tests/test_simple_logger.py
59
60
  tests/test_split_code.py
60
61
  tests/test_verify.py
62
+ tests/test_verify_all.py
61
63
  tests/test_writer.py
@@ -4,6 +4,7 @@ from approvaltests.approval_exception import ApprovalException
4
4
  from approvaltests.combination_approvals import (
5
5
  verify_all_combinations,
6
6
  verify_all_combinations_with_namer,
7
+ verify_all_combinations_with_labeled_input,
7
8
  )
8
9
  from approvaltests.reporters import CommandLineReporter
9
10
  from approvaltests.reporters.testing_reporter import ReporterForTesting
@@ -121,6 +122,13 @@ class VerifyAllCombinationsTests(unittest.TestCase):
121
122
  reporter=self.reporter,
122
123
  )
123
124
 
125
+ def test_with_labeled_input(self) -> None:
126
+ verify_all_combinations_with_labeled_input(
127
+ self.func,
128
+ arg1=(1, 3),
129
+ arg2=(2, 4),
130
+ )
131
+
124
132
 
125
133
  class VerifyAllCombinationsWithNamerTests(unittest.TestCase):
126
134
  def setUp(self) -> None:
@@ -0,0 +1,84 @@
1
+ from typing import List, Callable, Any
2
+
3
+ from approvaltests import Options, verify_all
4
+ from approvaltests.namer.inline_comparator import InlineComparator
5
+
6
+ from typing import TypeVar, Generic
7
+
8
+ from build.lib.approvaltests.reporters import ReporterThatAutomaticallyApproves
9
+
10
+ T = TypeVar("T")
11
+ T2 = TypeVar("T2")
12
+
13
+
14
+ class Parse(Generic[T]):
15
+ def __init__(self, text: str, transformer: Callable[[str], T]) -> None:
16
+ self.text = text
17
+ self._transformer = transformer
18
+
19
+ @staticmethod
20
+ def doc_string() -> "Parse[str]":
21
+ return Parse(InlineComparator.get_test_method_doc_string(), lambda s: s)
22
+
23
+ def get_inputs(self) -> List[T]:
24
+ lines = self.text.split("\n")
25
+ lines = list(filter(lambda line: line.strip(), lines))
26
+ inputs = [line.split("->")[0].strip() for line in lines]
27
+ return [self._transformer(i) for i in inputs]
28
+
29
+ def verify_all(self, transform: Callable[[T], Any]):
30
+ verify_all(
31
+ "",
32
+ self.get_inputs(),
33
+ lambda s: f"{s} -> {transform(s)}",
34
+ options=Options().inline(),
35
+ )
36
+
37
+ def transform(self, transform: Callable[[T], T2]) -> "Parse[T2]":
38
+ return Parse(self.text, lambda s: transform(self._transformer(s)))
39
+
40
+
41
+ def test_single_strings():
42
+ """
43
+ Sam -> SAM
44
+ Llewellyn -> LLEWELLYN
45
+ """
46
+ parse = Parse.doc_string()
47
+ verify_all(
48
+ "",
49
+ parse.get_inputs(),
50
+ lambda s: f"{s} -> {s.upper()}",
51
+ options=Options().inline(),
52
+ )
53
+ parse.verify_all(lambda s: s.upper())
54
+
55
+
56
+ def test_with_types_transformers_and_both():
57
+ """
58
+ 1 -> 0b1
59
+ 9 -> 0b1001
60
+ """
61
+ parse = Parse.doc_string()
62
+ verify_all(
63
+ "",
64
+ parse.get_inputs(),
65
+ lambda s: f"{s} -> {bin(int(s))}",
66
+ options=Options().inline(),
67
+ )
68
+ parse.transform(int).verify_all(lambda i: bin(i))
69
+ parse.transform(lambda a: int(a)).verify_all(lambda i: bin(i))
70
+
71
+
72
+ # parse.transform(int).transform(str).transform(int).verify_all(lambda i: bin(i), options= Options().with_reporter(ReporterThatAutomaticallyApproves())
73
+
74
+
75
+ def test_with_2_types_transformers_and_both():
76
+ """
77
+ 1, 2.2 -> 2.2
78
+ 4, 0.5 -> 2
79
+ """
80
+ s = "2.2"
81
+ parse = Parse.doc_string()
82
+
83
+
84
+ # parse.transform2(int, float).verify_all(lambda i,f: i * f)
@@ -0,0 +1,10 @@
1
+ from approvaltests import Options, verify_all
2
+
3
+
4
+ def test_verify_all_with_no_header():
5
+ """
6
+ 0) 1
7
+ 1) 2
8
+ 2) 3
9
+ """
10
+ verify_all("", ["1", "2", "3"], options=Options().inline())
@@ -0,0 +1 @@
1
+ version_number = "v11.1.0"
@@ -1 +0,0 @@
1
- version_number = "v10.4.0"