MCPcopy Create free account
hub / github.com/pytest-dev/pytest-bdd / Examples

Class Examples

src/pytest_bdd/parser.py:88–136  ·  view source on GitHub ↗

Represents examples used in scenarios for parameterization. Attributes: line_number (Optional[int]): The line number where the examples start. name (Optional[str]): The name of the examples. example_params (List[str]): The names of the parameters for the examples.

Source from the content-addressed store, hash-verified

86
87@dataclass(eq=False)
88class Examples:
89 """Represents examples used in scenarios for parameterization.
90
91 Attributes:
92 line_number (Optional[int]): The line number where the examples start.
93 name (Optional[str]): The name of the examples.
94 example_params (List[str]): The names of the parameters for the examples.
95 examples (List[Sequence[str]]): The list of example rows.
96 """
97
98 line_number: int | None = None
99 name: str | None = None
100 example_params: list[str] = field(default_factory=list)
101 examples: list[Sequence[str]] = field(default_factory=list)
102 tags: set[str] = field(default_factory=set)
103
104 def set_param_names(self, keys: Iterable[str]) -> None:
105 """Set the parameter names for the examples.
106
107 Args:
108 keys (Iterable[str]): The parameter names to set.
109 """
110 self.example_params = [str(key) for key in keys]
111
112 def add_example(self, values: Sequence[str]) -> None:
113 """Add a new example row.
114
115 Args:
116 values (Sequence[str]): The values for the example row.
117 """
118 self.examples.append([str(value) if value is not None else "" for value in values])
119
120 def as_contexts(self) -> Iterable[dict[str, Any]]:
121 """Generate contexts for the examples.
122
123 Yields:
124 Dict[str, Any]: A dictionary mapping parameter names to their values for each example row.
125 """
126 for row in self.examples:
127 assert len(self.example_params) == len(row)
128 yield dict(zip(self.example_params, row))
129
130 def __bool__(self) -> bool:
131 """Check if there are any examples.
132
133 Returns:
134 bool: True if there are examples, False otherwise.
135 """
136 return bool(self.examples)
137
138
139@dataclass(eq=False)

Callers 1

parse_scenarioMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…