Translate asset and material parity tests
Some checks failed
Rust API gates / api-gates (push) Has been cancelled

This commit is contained in:
2026-08-08 15:29:02 +02:00
parent 069e6366b2
commit 9eb4345750
15 changed files with 3735 additions and 3093 deletions

View File

@@ -4,10 +4,33 @@ import unittest
from pathlib import Path
from unittest.mock import patch
from generate_surface import check_test_parity, extract_tests, generate_tests, mask_csharp_comments
from generate_surface import (
check_test_parity,
extract_tests,
generate_tests,
mask_csharp_comments,
reviewed_tests,
scan_parity_markers,
)
class ParityGenerationTests(unittest.TestCase):
def test_reviewed_tests_include_owning_crate_unit_tests(self) -> None:
with tempfile.TemporaryDirectory() as temporary:
root = Path(temporary)
rust_file = root / "crates" / "example" / "src" / "internal_semantics.rs"
rust_file.parent.mkdir(parents=True)
case_id = "Example.Tests.cs::ExampleTests.InternalMember::test"
rust_file.write_text(
f"// parity-case: {case_id} {'a' * 64} translated\n"
"#[test]\nfn internal_member() {}\n"
)
review = reviewed_tests(root)[case_id]
self.assertEqual(review["rust_file"], "crates/example/src/internal_semantics.rs")
self.assertEqual(review["rust_test"], "internal_member")
self.assertEqual(scan_parity_markers(root)[case_id][0], review)
def test_comment_masking_preserves_offsets_and_ignores_fake_tests(self) -> None:
source = '''var url = "https://example.com/[Test]"; // [Test]\n/* [TestCase(1)] */\n[Test]\n'''
masked = mask_csharp_comments(source)