Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add more tests forVersions class#288

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
hugovk merged 4 commits intopython:mainfromhugovk:test-versions
Apr 18, 2025
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions.coveragerc
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -5,3 +5,4 @@
exclude_also =
# Don't complain if non-runnable code isn't run:
if __name__ == .__main__.:
if TYPE_CHECKING:
1 change: 1 addition & 0 deletions.pre-commit-config.yaml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,6 +17,7 @@ repos:
rev: v0.11.5
hooks:
- id: ruff
args: [--fix]
- id: ruff-format

- repo: https://github.com/python-jsonschema/check-jsonschema
Expand Down
104 changes: 80 additions & 24 deletionstests/test_build_docs_versions.py
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
from __future__ import annotations

import pytest

from build_docs import Version, Versions


def test_filter_default() -> None:
# Arrange
versions = Versions([
@pytest.fixture
def versions() -> Versions:
return Versions([
Version(name="3.14", status="in development", branch_or_tag=""),
Version(name="3.13", status="stable", branch_or_tag=""),
Version(name="3.12", status="stable", branch_or_tag=""),
Expand All@@ -12,46 +16,98 @@ def test_filter_default() -> None:
Version(name="3.9", status="security-fixes", branch_or_tag=""),
])


def test_reversed(versions: Versions) -> None:
# Act
filtered =versions.filter()
output =list(reversed(versions))

# Assert
assert filtered == [
Version(name="3.14", status="in development", branch_or_tag=""),
assert output[0].name == "3.9"
assert output[-1].name == "3.14"


def test_from_json() -> None:
# Arrange
json_data = {
"3.14": {
"branch": "main",
"pep": 745,
"status": "feature",
"first_release": "2025-10-01",
"end_of_life": "2030-10",
"release_manager": "Hugo van Kemenade",
},
"3.13": {
"branch": "3.13",
"pep": 719,
"status": "bugfix",
"first_release": "2024-10-07",
"end_of_life": "2029-10",
"release_manager": "Thomas Wouters",
},
}

# Act
versions = list(Versions.from_json(json_data))

# Assert
assert versions == [
Version(name="3.13", status="stable", branch_or_tag=""),
Version(name="3.12", status="stable", branch_or_tag=""),
Version(name="3.14", status="in development", branch_or_tag=""),
]


deftest_filter_one() -> None:
deftest_from_json_error() -> None:
# Arrange
versions = Versions([
json_data = {"2.8": {"branch": "2.8", "pep": 404, "status": "ex-release"}}

# Act / Assert
with pytest.raises(
ValueError,
match="Saw invalid version status 'ex-release', expected to be one of",
):
Versions.from_json(json_data)


def test_current_stable(versions) -> None:
# Act
current_stable = versions.current_stable

# Assert
assert current_stable.name == "3.13"
assert current_stable.status == "stable"


def test_current_dev(versions) -> None:
# Act
current_dev = versions.current_dev

# Assert
assert current_dev.name == "3.14"
assert current_dev.status == "in development"


def test_filter_default(versions) -> None:
# Act
filtered = versions.filter()

# Assert
assert filtered == [
Version(name="3.14", status="in development", branch_or_tag=""),
Version(name="3.13", status="stable", branch_or_tag=""),
Version(name="3.12", status="stable", branch_or_tag=""),
Version(name="3.11", status="security-fixes", branch_or_tag=""),
Version(name="3.10", status="security-fixes", branch_or_tag=""),
Version(name="3.9", status="security-fixes", branch_or_tag=""),
])
]


def test_filter_one(versions) -> None:
# Act
filtered = versions.filter(["3.13"])

# Assert
assert filtered == [Version(name="3.13", status="security-fixes", branch_or_tag="")]


def test_filter_multiple() -> None:
# Arrange
versions = Versions([
Version(name="3.14", status="in development", branch_or_tag=""),
Version(name="3.13", status="stable", branch_or_tag=""),
Version(name="3.12", status="stable", branch_or_tag=""),
Version(name="3.11", status="security-fixes", branch_or_tag=""),
Version(name="3.10", status="security-fixes", branch_or_tag=""),
Version(name="3.9", status="security-fixes", branch_or_tag=""),
])

def test_filter_multiple(versions) -> None:
# Act
filtered = versions.filter(["3.13", "3.14"])

Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp