# {py:mod}`feedback_forensics.data.operations.merge_test`

```{py:module} feedback_forensics.data.operations.merge_test
```

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test
:allowtitles:
```

## Module Contents

### Classes

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`TestCategorizeComparisons <feedback_forensics.data.operations.merge_test.TestCategorizeComparisons>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestCategorizeComparisons
    :summary:
    ```
* - {py:obj}`TestMergeSingleComparison <feedback_forensics.data.operations.merge_test.TestMergeSingleComparison>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeSingleComparison
    :summary:
    ```
* - {py:obj}`TestMergeMetadata <feedback_forensics.data.operations.merge_test.TestMergeMetadata>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeMetadata
    :summary:
    ```
* - {py:obj}`TestMergeAP <feedback_forensics.data.operations.merge_test.TestMergeAP>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeAP
    :summary:
    ```
* - {py:obj}`TestEdgeCases <feedback_forensics.data.operations.merge_test.TestEdgeCases>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestEdgeCases
    :summary:
    ```
* - {py:obj}`TestGenericMergeFunctions <feedback_forensics.data.operations.merge_test.TestGenericMergeFunctions>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestGenericMergeFunctions
    :summary:
    ```
````

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`sample_annotated_pairs_1 <feedback_forensics.data.operations.merge_test.sample_annotated_pairs_1>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.sample_annotated_pairs_1
    :summary:
    ```
* - {py:obj}`sample_annotated_pairs_2 <feedback_forensics.data.operations.merge_test.sample_annotated_pairs_2>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.sample_annotated_pairs_2
    :summary:
    ```
````

### API

````{py:function} sample_annotated_pairs_1()
:canonical: feedback_forensics.data.operations.merge_test.sample_annotated_pairs_1

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.sample_annotated_pairs_1
```
````

````{py:function} sample_annotated_pairs_2()
:canonical: feedback_forensics.data.operations.merge_test.sample_annotated_pairs_2

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.sample_annotated_pairs_2
```
````

`````{py:class} TestCategorizeComparisons
:canonical: feedback_forensics.data.operations.merge_test.TestCategorizeComparisons

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestCategorizeComparisons
```

````{py:method} test_find_matches_with_ids(sample_annotated_pairs_1, sample_annotated_pairs_2)
:canonical: feedback_forensics.data.operations.merge_test.TestCategorizeComparisons.test_find_matches_with_ids

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestCategorizeComparisons.test_find_matches_with_ids
```

````

````{py:method} test_find_matches_without_ids()
:canonical: feedback_forensics.data.operations.merge_test.TestCategorizeComparisons.test_find_matches_without_ids

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestCategorizeComparisons.test_find_matches_without_ids
```

````

`````

`````{py:class} TestMergeSingleComparison
:canonical: feedback_forensics.data.operations.merge_test.TestMergeSingleComparison

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeSingleComparison
```

````{py:method} test_merge_comparison_basic()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_comparison_basic

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_comparison_basic
```

````

````{py:method} test_merge_comparison_missing_fields()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_comparison_missing_fields

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_comparison_missing_fields
```

````

````{py:method} test_merge_prompt_conflict()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_prompt_conflict

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_prompt_conflict
```

````

````{py:method} test_merge_response_text_conflict()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_response_text_conflict

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_response_text_conflict
```

````

````{py:method} test_merge_response_model_conflict()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_response_model_conflict

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_response_model_conflict
```

````

````{py:method} test_merge_annotation_conflict(mock_logger)
:canonical: feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_annotation_conflict

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_annotation_conflict
```

````

````{py:method} test_merge_metadata_conflict(mock_logger)
:canonical: feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_metadata_conflict

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeSingleComparison.test_merge_metadata_conflict
```

````

`````

`````{py:class} TestMergeMetadata
:canonical: feedback_forensics.data.operations.merge_test.TestMergeMetadata

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeMetadata
```

````{py:method} test_merge_metadata()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeMetadata.test_merge_metadata

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeMetadata.test_merge_metadata
```

````

````{py:method} test_merge_metadata_with_description()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeMetadata.test_merge_metadata_with_description

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeMetadata.test_merge_metadata_with_description
```

````

`````

`````{py:class} TestMergeAP
:canonical: feedback_forensics.data.operations.merge_test.TestMergeAP

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeAP
```

````{py:method} test_merge_ap_basic(sample_annotated_pairs_1, sample_annotated_pairs_2)
:canonical: feedback_forensics.data.operations.merge_test.TestMergeAP.test_merge_ap_basic

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeAP.test_merge_ap_basic
```

````

````{py:method} test_merge_ap_empty_datasets()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeAP.test_merge_ap_empty_datasets

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeAP.test_merge_ap_empty_datasets
```

````

````{py:method} test_merge_ap_precedence()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeAP.test_merge_ap_precedence

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeAP.test_merge_ap_precedence
```

````

````{py:method} test_merge_ap_strict_validation_fails()
:canonical: feedback_forensics.data.operations.merge_test.TestMergeAP.test_merge_ap_strict_validation_fails

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestMergeAP.test_merge_ap_strict_validation_fails
```

````

`````

`````{py:class} TestEdgeCases
:canonical: feedback_forensics.data.operations.merge_test.TestEdgeCases

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestEdgeCases
```

````{py:method} test_empty_datasets()
:canonical: feedback_forensics.data.operations.merge_test.TestEdgeCases.test_empty_datasets

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestEdgeCases.test_empty_datasets
```

````

````{py:method} test_missing_metadata_fields()
:canonical: feedback_forensics.data.operations.merge_test.TestEdgeCases.test_missing_metadata_fields

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestEdgeCases.test_missing_metadata_fields
```

````

`````

`````{py:class} TestGenericMergeFunctions
:canonical: feedback_forensics.data.operations.merge_test.TestGenericMergeFunctions

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestGenericMergeFunctions
```

````{py:method} test_merge_value_strict_vs_non_strict()
:canonical: feedback_forensics.data.operations.merge_test.TestGenericMergeFunctions.test_merge_value_strict_vs_non_strict

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestGenericMergeFunctions.test_merge_value_strict_vs_non_strict
```

````

````{py:method} test_merge_dict_strict_vs_non_strict()
:canonical: feedback_forensics.data.operations.merge_test.TestGenericMergeFunctions.test_merge_dict_strict_vs_non_strict

```{autodoc2-docstring} feedback_forensics.data.operations.merge_test.TestGenericMergeFunctions.test_merge_dict_strict_vs_non_strict
```

````

`````
