mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-23 21:11:08 +00:00
Test cases for check_bipartite_graph_bfs (#10688)
* [ADD] tests for check_bipartite_graph_bfs * linter fix? * linter fix * [ADD] more test cases check_bipartite_graph_bfs * doctest fixes. Forgot to add 'Traceback...' * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * missed a Traceback * Update check_bipartite_graph_bfs.py --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Christian Clauss <cclauss@me.com>
This commit is contained in:
parent
4154428351
commit
82fc24ce96
|
@ -10,6 +10,48 @@ from queue import Queue
|
|||
|
||||
|
||||
def check_bipartite(graph):
|
||||
"""
|
||||
>>> check_bipartite({})
|
||||
True
|
||||
>>> check_bipartite({0: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2]})
|
||||
True
|
||||
>>> check_bipartite({0: [1, 2, 3], 1: [0, 2], 2: [0, 1, 3], 3: [0, 2]})
|
||||
False
|
||||
>>> check_bipartite({0: [4], 1: [], 2: [4], 3: [4], 4: [0, 2, 3]})
|
||||
True
|
||||
>>> check_bipartite({0: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2], 4: [0]})
|
||||
False
|
||||
>>> check_bipartite({7: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2], 4: [0]})
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
KeyError: 0
|
||||
>>> check_bipartite({0: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2], 9: [0]})
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
KeyError: 4
|
||||
>>> check_bipartite({0: [-1, 3], 1: [0, -2]})
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
IndexError: list index out of range
|
||||
>>> check_bipartite({-1: [0, 2], 0: [-1, 1], 1: [0, 2], 2: [-1, 1]})
|
||||
True
|
||||
>>> check_bipartite({0.9: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2]})
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
KeyError: 0
|
||||
>>> check_bipartite({0: [1.0, 3.0], 1.0: [0, 2.0], 2.0: [1.0, 3.0], 3.0: [0, 2.0]})
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
TypeError: list indices must be integers or slices, not float
|
||||
>>> check_bipartite({"a": [1, 3], "b": [0, 2], "c": [1, 3], "d": [0, 2]})
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
KeyError: 0
|
||||
>>> check_bipartite({0: ["b", "d"], 1: ["a", "c"], 2: ["b", "d"], 3: ["a", "c"]})
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
TypeError: list indices must be integers or slices, not str
|
||||
"""
|
||||
queue = Queue()
|
||||
visited = [False] * len(graph)
|
||||
color = [-1] * len(graph)
|
||||
|
@ -45,3 +87,6 @@ def check_bipartite(graph):
|
|||
if __name__ == "__main__":
|
||||
# Adjacency List of graph
|
||||
print(check_bipartite({0: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2]}))
|
||||
import doctest
|
||||
|
||||
doctest.testmod()
|
||||
|
|
Loading…
Reference in New Issue
Block a user