On the last few PRs I have noticed two problems: 1. `ruff format` fails even though it seems OK on our local machines (sometimes, not always) 2. Nate's and Sam's machines kept flip-flopping a specific piece of formatting back and forth, indicating a subtle difference of config hiding somewhere 3. This was reproducible by running `ruff format` in the terminal, followed by `make check`. The former would edit files, and then `make check` would edit them back! This PR addresses both issues, and further standardizes our editor & linter configs to be super stable. Specifically: 1. The main fix for the above, the pre-commit hook was pinned to a super old version of ruff. This resulted in subtle differences in behavior between our machines, and on CI. 2. Moved ruff settings from `pyproject.toml` to `.ruff.toml` pyproject files in subdirectories (e.g. `toolkits/**`) were overriding the main pyproject file and erasing the custom ruff config we set at the root. This meant that our ruff config was applied to `arcade` but not to any of the other packages. By moving the config to `.ruff.toml` at the root, all projects will inherit the same ruff linting & formatting config. 4. Un-ignored the `.vscode/` directory so that we can share vscode/cursor workspace settings. This is valuable for standardizing settings like the default formatter (ruff) and default test framework (pytest). However, it's important that going forward we _only_ commit things here that should apply across all of our machines. 5. To avoid any conflict between prettier and ruff, prettier now explicitly ignores *.py files 6. Finally, `ruff format` and `make check` agree. A number of files are newly auto-formatted.
48 lines
842 B
Python
48 lines
842 B
Python
import pytest
|
|
from arcade_math.tools.arithmetic import (
|
|
add,
|
|
divide,
|
|
multiply,
|
|
sqrt,
|
|
subtract,
|
|
sum_list,
|
|
sum_range,
|
|
)
|
|
|
|
|
|
def test_add():
|
|
assert add(1, 2) == 3
|
|
assert add(-1, 1) == 0
|
|
assert add(0.5, 10.9) == 11.4
|
|
|
|
|
|
def test_subtract():
|
|
assert subtract(2, 1) == 1
|
|
assert subtract(2, 3.5) == -1.5
|
|
|
|
|
|
def test_multiply():
|
|
assert multiply(2, 3) == 6
|
|
assert multiply(-1, 1.5) == -1.5
|
|
|
|
|
|
def test_divide():
|
|
assert divide(6, 3) == 2.0
|
|
assert divide(5, 2) == 2.5
|
|
with pytest.raises(ZeroDivisionError):
|
|
divide(1, 0)
|
|
|
|
|
|
def test_sqrt():
|
|
assert sqrt(4) == 2.0
|
|
assert sqrt(9) == 3.0
|
|
|
|
|
|
def test_sum_list():
|
|
assert sum_list([1, 2, 3]) == 6
|
|
assert sum_list([0, -1.5, 1]) == -0.5
|
|
|
|
|
|
def test_sum_range():
|
|
assert sum_range(1, 3) == 6
|
|
assert sum_range(0, 10) == 55
|