35 lines
1006 B
Plaintext
35 lines
1006 B
Plaintext
|
import pytest
|
||
|
import pandas as pd
|
||
|
from the_stack_licenses import (
|
||
|
get_records,
|
||
|
print_records,
|
||
|
print_unique_licenses,
|
||
|
)
|
||
|
|
||
|
|
||
|
def test_get_records():
|
||
|
df = pd.DataFrame({"a": [1, 2, 3]})
|
||
|
|
||
|
assert get_records(df, "-1-2").equals(pd.DataFrame({"a": [1, 2]}))
|
||
|
assert get_records(df, "1").equals(pd.DataFrame({"a": [1]}))
|
||
|
|
||
|
|
||
|
def test_print_records():
|
||
|
df = pd.DataFrame({"a": [1, 2]})
|
||
|
|
||
|
# Mocking print function using built-in unittest.mock module
|
||
|
with unittest.mock.patch("builtins.print") as mock_print:
|
||
|
print_records(df)
|
||
|
mock_print.assert_called_with(df)
|
||
|
|
||
|
|
||
|
def test_print_unique_licenses():
|
||
|
df = pd.DataFrame({"license": ["MIT", "GPL", "Apache"]})
|
||
|
|
||
|
# Mocking print function using built-in unittest.mock module
|
||
|
with unittest.mock.patch("builtins.print") as mock_print:
|
||
|
print_unique_licenses(df)
|
||
|
mock_print.assert_called_with(
|
||
|
pd.Series(["Apache", "GPL", "MIT"]).sort_values()
|
||
|
) # assuming sorting is done in function
|