def test_1_print_k_subsets(): assert sorted(capture_print(lambda: ex8.print_k_subsets(3, 1))) == [ "[0]", "[1]", "[2]" ] assert sorted(capture_print(lambda: ex8.print_k_subsets(5, 1))) == [ "[0]", "[1]", "[2]", "[3]", "[4]" ]
def test_2_print_k_subsets(): assert sorted(capture_print(lambda: ex8.print_k_subsets(3, 2))) == [ "[0, 1]", "[0, 2]", "[1, 2]" ] assert sorted(capture_print(lambda: ex8.print_k_subsets(5, 2))) == [ "[0, 1]", "[0, 2]", "[0, 3]", "[0, 4]", "[1, 2]", "[1, 3]", "[1, 4]", "[2, 3]", "[2, 4]", "[3, 4]" ]
def test_4_print_k_subsets(): result = capture_print(lambda: ex8.print_k_subsets(10, 4)) assert len(result) == nCr(10, 4) assert len(result) == len(set(result))
def test_3_print_k_subsets(): assert capture_print(lambda: ex8.print_k_subsets(3, 3)) == ["[0, 1, 2]"] result = capture_print(lambda: ex8.print_k_subsets(5, 3)) assert len(result) == nCr(5, 3) assert len(result) == len(set(result))
def test_empty_print_k_subsets(): assert capture_print(lambda: ex8.print_k_subsets(0, 0)) == ["[]"] assert capture_print(lambda: ex8.print_k_subsets(0, 5)) == [] assert capture_print(lambda: ex8.print_k_subsets(5, 0)) == ["[]"] assert capture_print(lambda: ex8.print_k_subsets(2, 3)) == []
def test_empty_print_k_subsets(): #assert capture_print(lambda: ex8.print_k_subsets(0, 0)) == [] assert capture_print(lambda: ex8.print_k_subsets(0, 5)) == []