def test_create_graph(): """ Tests that a graph can be created. """ graph = create_graph() assert isinstance(graph, dict) def test_weight_edges(): """ Tests that the edges of a graph can be weighted. """ graph = create_graph() weight_edges(graph) for edge in graph.edges: assert isinstance(edge.weight, int) def test_create_user_list(): """ Tests that a list of all the podcasts that the user has listened to can be created. """ user_list = create_user_list() assert isinstance(user_list, list) def test_find_most_similar_podcasts(): """ Tests that the most similar podcasts to a given podcast can be found. """ graph = create_graph() weight_edges(graph) user_list = create_user_list() most_similar_podcasts = find_most_similar_podcasts( graph, user_list ) assert isinstance(most_similar_podcasts, list) def test_add_most_similar_podcasts(): """ Tests that the most similar podcasts to a given podcast can be added to the user's list. """ graph = create_graph() weight_edges(graph) user_list = create_user_list() add_most_similar_podcasts(graph, user_list) assert len(user_list) > 0 def test_repeat_steps(): """ Tests that steps 5-6 can be repeated until the user's list contains the desired number of podcasts. """ graph = create_graph() weight_edges(graph) user_list = create_user_list() repeat_steps(graph, user_list) assert len(user_list) == 10