QuantumLearning/tests/test_project_experience.py

101 lines
3.6 KiB
Python

from quantum_learning.config import project_root
def test_start_here_notebook_exists():
assert (project_root() / "notebooks" / "START_HERE.ipynb").exists()
def test_professional_path_notebook_exists():
assert (project_root() / "notebooks" / ".reference" / "PROFESSIONAL_PATH.ipynb").exists()
assert not (project_root() / "notebooks" / "reference").exists()
def test_course_blueprint_notebook_exists():
assert (project_root() / "notebooks" / "COURSE_BLUEPRINT.ipynb").exists()
def test_course_complete_notebook_exists():
assert (project_root() / "notebooks" / "COURSE_COMPLETE.ipynb").exists()
def test_foundations_module_bundles_exist():
foundations_root = project_root() / "notebooks" / "foundations"
module_names = [
"module_01_principles_and_circuit_literacy",
"module_02_qubit_and_statevector_intuition",
"module_03_gates_and_measurement",
]
for module_name in module_names:
module_root = foundations_root / module_name
assert (module_root / "lecture.ipynb").exists()
assert (module_root / "lab.ipynb").exists()
assert (module_root / "problems.ipynb").exists()
assert (module_root / "studio.ipynb").exists()
def test_qiskit_engineering_module_bundles_exist():
engineering_root = project_root() / "notebooks" / "qiskit_engineering"
module_names = [
"module_01_circuit_construction_and_analysis",
"module_02_transpilation_and_visualization",
"module_03_simulation_and_noise_models",
]
for module_name in module_names:
module_root = engineering_root / module_name
assert (module_root / "lecture.ipynb").exists()
assert (module_root / "lab.ipynb").exists()
assert (module_root / "problems.ipynb").exists()
assert (module_root / "studio.ipynb").exists()
def test_algorithmic_design_module_bundles_exist():
algorithms_root = project_root() / "notebooks" / "algorithms"
module_names = [
"module_01_deutsch_family",
"module_02_bernstein_vazirani",
"module_03_qft",
"module_04_grover",
]
for module_name in module_names:
module_root = algorithms_root / module_name
assert (module_root / "lecture.ipynb").exists()
assert (module_root / "lab.ipynb").exists()
assert (module_root / "problems.ipynb").exists()
assert (module_root / "studio.ipynb").exists()
def test_professional_design_module_bundles_exist():
professional_root = project_root() / "notebooks" / "professional"
module_names = [
"module_01_qiskit_patterns",
"module_02_hardware_aware_redesign",
"module_03_noise_aware_verification",
"module_04_capstone_design_review",
]
for module_name in module_names:
module_root = professional_root / module_name
assert (module_root / "lecture.ipynb").exists()
assert (module_root / "lab.ipynb").exists()
assert (module_root / "problems.ipynb").exists()
assert (module_root / "studio.ipynb").exists()
def test_first_run_checklist_exists():
assert (project_root() / "FIRST_RUN.md").exists()
def test_operations_guide_exists():
assert (project_root() / "OPERATIONS.md").exists()
def test_consumer_app_script_exists():
assert (project_root() / "scripts" / "app.sh").exists()
def test_repo_local_jupyter_config_exists():
assert (project_root() / ".jupyter_config" / "jupyter_lab_config.py").exists()
assert (project_root() / ".jupyter_config" / "jupyter_server_config.py").exists()
def test_mastery_model_exists():
assert (project_root() / "MASTERY_MODEL.md").exists()