← Về thư mục
📄
/
/
profiles
/
r-and-d
/
raw_evidence
/
scientific-agent-skills
/
graft
/
tests
/
analytical-method-validation
/ test_scripts.md
tests/analytical-method-validation/test_scripts.py
tests/analytical-method-validation/test_scripts.py
_load_script · function · L27-L36 — def _load_script(name: str)
run_script · function · L43-L50 — def run_script(name: str, *args: str) -> subprocess.CompletedProcess
TestSkillStructure · class · L56-L111 — class TestSkillStructure(unittest.TestCase)
test_skill_md_frontmatter · method · L57-L68 — def test_skill_md_frontmatter(self)
test_skill_md_under_500_lines · method · L70-L72 — def test_skill_md_under_500_lines(self)
test_referenced_files_exist · method · L74-L82 — def test_referenced_files_exist(self)
test_no_bytecode_shipped · method · L84-L86 — def test_no_bytecode_shipped(self)
test_no_tests_inside_skill · method · L88-L89 — def test_no_tests_inside_skill(self)
test_no_techniques_attributed_to_q2r2_that_it_never_mentions · method · L91-L100 — def test_no_techniques_attributed_to_q2r2_that_it_never_mentions(self)
test_paywalled_standards_are_not_quoted_with_numbers · method · L102-L111 — def test_paywalled_standards_are_not_quoted_with_numbers(self)
TestDistributions · class · L117-L180 — class TestDistributions(unittest.TestCase)
test_t_quantiles · method · L118-L127 — def test_t_quantiles(self)
test_t_cdf_symmetry · method · L129-L133 — def test_t_cdf_symmetry(self)
test_chi2_quantiles · method · L135-L143 — def test_chi2_quantiles(self)
test_f_distribution · method · L145-L151 — def test_f_distribution(self): # F(1,1) upper 5% point is 161.4476
test_f_sf_does_not_underflow_to_zero · method · L153-L166 — def test_f_sf_does_not_underflow_to_zero(self)
test_betainc_edges · method · L168-L174 — def test_betainc_edges(self)
test_bad_probabilities_raise · method · L176-L180 — def test_bad_probabilities_raise(self)
TestRegression · class · L186-L257 — class TestRegression(unittest.TestCase)
test_exact_line · method · L187-L192 — def test_exact_line(self)
test_known_least_squares · method · L194-L200 — def test_known_least_squares(self)
test_weighting_changes_the_fit · method · L202-L207 — def test_weighting_changes_the_fit(self)
test_too_few_points · method · L209-L211 — def test_too_few_points(self)
test_collinear_x_raises · method · L213-L215 — def test_collinear_x_raises(self)
test_lack_of_fit_detects_curvature · method · L217-L223 — def test_lack_of_fit_detects_curvature(self)
test_lack_of_fit_passes_linear_data · method · L225-L230 — def test_lack_of_fit_passes_linear_data(self)
test_lack_of_fit_needs_replicates · method · L232-L237 — def test_lack_of_fit_needs_replicates(self)
test_runs_test_flags_curvature · method · L239-L243 — def test_runs_test_flags_curvature(self)
test_runs_test_small_sample_is_honest · method · L245-L248 — def test_runs_test_small_sample_is_honest(self)
test_heteroscedasticity_ratio · method · L250-L257 — def test_heteroscedasticity_ratio(self)
TestVarianceComponents · class · L263-L303 — class TestVarianceComponents(unittest.TestCase)
test_balanced_hand_check · method · L264-L278 — def test_balanced_hand_check(self)
test_between_variance_truncated_at_zero · method · L280-L285 — def test_between_variance_truncated_at_zero(self): # Groups deliberately indistinguishable: MS_between < MS_within
test_unbalanced_effective_n · method · L287-L292 — def test_unbalanced_effective_n(self)
test_needs_two_groups · method · L294-L296 — def test_needs_two_groups(self)
test_sd_confidence_interval_brackets · method · L298-L303 — def test_sd_confidence_interval_brackets(self)
TestMethodComparison · class · L309-L449 — class TestMethodComparison(unittest.TestCase)
test_deming_recovers_unit_slope · method · L310-L315 — def test_deming_recovers_unit_slope(self)
test_deming_lambda_affects_slope · method · L317-L322 — def test_deming_lambda_affects_slope(self)
test_deming_lambda_direction_matches_documentation · method · L324-L345 — def test_deming_lambda_direction_matches_documentation(self)
test_deming_rejects_bad_lambda · method · L347-L349 — def test_deming_rejects_bad_lambda(self)
test_passing_bablok_exact_line · method · L351-L356 — def test_passing_bablok_exact_line(self)
test_passing_bablok_resists_one_outlier · method · L358-L365 — def test_passing_bablok_resists_one_outlier(self)
test_passing_bablok_needs_five_points · method · L367-L369 — def test_passing_bablok_needs_five_points(self)
test_passing_bablok_ci_order_statistics · method · L371-L399 — def test_passing_bablok_ci_order_statistics(self)
test_passing_bablok_ci_contains_estimate_across_shapes · method · L401-L408 — def test_passing_bablok_ci_contains_estimate_across_shapes(self)
test_bland_altman_bias_and_loa · method · L410-L415 — def test_bland_altman_bias_and_loa(self)
test_bland_altman_relative · method · L417-L421 — def test_bland_altman_relative(self)
test_bland_altman_needs_three_pairs · method · L423-L425 — def test_bland_altman_needs_three_pairs(self)
test_tost_equivalent · method · L427-L430 — def test_tost_equivalent(self)
test_tost_not_equivalent_when_biased · method · L432-L435 — def test_tost_not_equivalent_when_biased(self)
test_tost_ci_is_1_minus_2alpha · method · L437-L445 — def test_tost_ci_is_1_minus_2alpha(self)
test_tost_rejects_bad_margin · method · L447-L449 — def test_tost_rejects_bad_margin(self)
TestCatalogue · class · L455-L519 — class TestCatalogue(unittest.TestCase)
test_m10_modalities_differ · method · L456-L464 — def test_m10_modalities_differ(self)
test_total_error_is_lba_only · method · L466-L469 — def test_total_error_is_lba_only(self)
test_m10_run_structure · method · L471-L483 — def test_m10_run_structure(self)
test_q2r2_table1_limit_test_needs_dl_not_ql · method · L485-L491 — def test_q2r2_table1_limit_test_needs_dl_not_ql(self)
test_q2r2_identity_only_needs_specificity · method · L493-L498 — def test_q2r2_identity_only_needs_specificity(self)
test_attribute_aliases_resolve · method · L500-L505 — def test_attribute_aliases_resolve(self)
test_paywalled_frameworks_marked_not_reproducible · method · L507-L511 — def test_paywalled_frameworks_marked_not_reproducible(self)
test_q2r2_response_requires_five_levels · method · L513-L514 — def test_q2r2_response_requires_five_levels(self)
test_dl_ql_factors_documented · method · L516-L519 — def test_dl_ql_factors_documented(self)
TestPlanValidation · class · L525-L585 — class TestPlanValidation(unittest.TestCase)
test_list_frameworks · method · L526-L533 — def test_list_frameworks(self)
test_q2r2_assay_plan · method · L535-L543 — def test_q2r2_assay_plan(self)
test_identity_plan_marks_most_tests_not_required · method · L545-L550 — def test_identity_plan_marks_most_tests_not_required(self)
test_m10_requires_modality · method · L552-L555 — def test_m10_requires_modality(self)
test_m10_lba_plan_includes_total_error · method · L557-L561 — def test_m10_lba_plan_includes_total_error(self)
test_m10_chromatographic_plan_excludes_total_error · method · L563-L567 — def test_m10_chromatographic_plan_excludes_total_error(self)
test_unknown_framework_exits_2 · method · L569-L571 — def test_unknown_framework_exits_2(self)
test_protocol_skeleton_has_pre_stated_criteria_section · method · L573-L578 — def test_protocol_skeleton_has_pre_stated_criteria_section(self)
test_paywalled_framework_refuses_to_supply_design · method · L580-L585 — def test_paywalled_framework_refuses_to_supply_design(self)
TestCheckResponse · class · L588-L624 — class TestCheckResponse(unittest.TestCase)
test_good_curve_no_findings · method · L589-L592 — def test_good_curve_no_findings(self)
test_curved_response_flagged · method · L594-L598 — def test_curved_response_flagged(self)
test_curved_response_has_high_r_squared · method · L600-L608 — def test_curved_response_has_high_r_squared(self)
test_too_few_levels_flagged · method · L610-L613 — def test_too_few_levels_flagged(self)
test_missing_column_exits_2 · method · L615-L618 — def test_missing_column_exits_2(self)
test_weighting_option_accepted · method · L620-L624 — def test_weighting_option_accepted(self)
TestCheckAccuracyPrecision · class · L627-L706 — class TestCheckAccuracyPrecision(unittest.TestCase)
test_between_day_shift_inflates_intermediate_precision · method · L628-L637 — def test_between_day_shift_inflates_intermediate_precision(self)
test_precision_is_reported_per_level · method · L639-L650 — def test_precision_is_reported_per_level(self)
test_accuracy_reports_confidence_interval · method · L652-L660 — def test_accuracy_reports_confidence_interval(self)
test_require_ci_within_limit_is_stricter · method · L662-L671 — def test_require_ci_within_limit_is_stricter(self)
test_no_group_column_only_repeatability · method · L673-L679 — def test_no_group_column_only_repeatability(self)
test_zero_level_rejected · method · L681-L683 — def test_zero_level_rejected(self)
test_six_at_one_level_satisfies_option_b · method · L685-L695 — def test_six_at_one_level_satisfies_option_b(self)
test_nine_across_range_satisfies_option_a · method · L697-L700 — def test_nine_across_range_satisfies_option_a(self)
test_design_meeting_neither_option_is_flagged · method · L702-L706 — def test_design_meeting_neither_option_is_flagged(self)
TestCheckDetectionLimits · class · L709-L781 — class TestCheckDetectionLimits(unittest.TestCase)
test_multiple_approaches_reported · method · L710-L718 — def test_multiple_approaches_reported(self)
test_dl_ql_factor_relationship · method · L720-L725 — def test_dl_ql_factor_relationship(self)
test_ql_above_reporting_threshold_flagged · method · L727-L732 — def test_ql_above_reporting_threshold_flagged(self)
test_ql_confirmation_evaluated · method · L734-L743 — def test_ql_confirmation_evaluated(self)
test_confirm_data_without_claim_exits_2 · method · L745-L749 — def test_confirm_data_without_claim_exits_2(self)
test_threshold_check_uses_the_conservative_estimate · method · L751-L767 — def test_threshold_check_uses_the_conservative_estimate(self)
test_explicit_claim_overrides_the_conservative_default · method · L769-L775 — def test_explicit_claim_overrides_the_conservative_default(self)
test_signal_to_noise_requires_level · method · L777-L781 — def test_signal_to_noise_requires_level(self)
TestCheckBioanalyticalRun · class · L784-L850 — class TestCheckBioanalyticalRun(unittest.TestCase)
test_per_level_qc_rule_catches_failing_level · method · L785-L789 — def test_per_level_qc_rule_catches_failing_level(self)
test_same_run_passes_lba_tolerances · method · L791-L798 — def test_same_run_passes_lba_tolerances(self)
test_modality_is_mandatory · method · L800-L804 — def test_modality_is_mandatory(self)
test_isr_chromatographic_vs_lba · method · L806-L813 — def test_isr_chromatographic_vs_lba(self)
test_total_error_rejected_for_chromatographic · method · L815-L819 — def test_total_error_rejected_for_chromatographic(self)
test_total_error_applied_for_lba · method · L821-L829 — def test_total_error_applied_for_lba(self)
test_anchor_points_excluded_from_calibration_count · method · L831-L838 — def test_anchor_points_excluded_from_calibration_count(self)
test_criteria_listing · method · L840-L845 — def test_criteria_listing(self)
test_bad_type_column_exits_2 · method · L847-L850 — def test_bad_type_column_exits_2(self)
TestCompareMethods · class · L853-L889 — class TestCompareMethods(unittest.TestCase)
test_equivalent_at_two_percent · method · L854-L858 — def test_equivalent_at_two_percent(self)
test_not_equivalent_at_one_percent · method · L860-L864 — def test_not_equivalent_at_one_percent(self)
test_t_test_significant_while_tost_equivalent · method · L866-L872 — def test_t_test_significant_while_tost_equivalent(self)
test_deming_and_ols_both_reported · method · L874-L880 — def test_deming_and_ols_both_reported(self)
test_margin_is_required · method · L882-L884 — def test_margin_is_required(self)
test_too_few_pairs_exits_2 · method · L886-L889 — def test_too_few_pairs_exits_2(self)
TestInputHandling · class · L895-L947 — class TestInputHandling(unittest.TestCase)
test_json_input_accepted · method · L896-L899 — def test_json_input_accepted(self)
test_tsv_input_accepted · method · L901-L904 — def test_tsv_input_accepted(self)
test_non_numeric_value_names_the_row · method · L906-L909 — def test_non_numeric_value_names_the_row(self)
test_missing_file_exits_2 · method · L911-L913 — def test_missing_file_exits_2(self)
test_oversize_json_is_refused_not_truncated · method · L915-L920 — def test_oversize_json_is_refused_not_truncated(self)
test_json_row_cap_boundary_is_accepted · method · L922-L925 — def test_json_row_cap_boundary_is_accepted(self)
test_empty_json_array_rejected · method · L927-L929 — def test_empty_json_array_rejected(self)
test_omitted_input_does_not_block_on_a_terminal · method · L931-L940 — def test_omitted_input_does_not_block_on_a_terminal(self)
test_stdout_carries_data_stderr_carries_notes · method · L942-L947 — def test_stdout_carries_data_stderr_carries_notes(self)