From 31e6311ddec7b7325508998cf14a4ba873d3f30a Mon Sep 17 00:00:00 2001 From: Andreas Kollegger Date: Thu, 12 Feb 2026 21:49:06 +0000 Subject: [PATCH] pattern-reconciliation: implmented tests that were pending --- libs/pattern/tests/Spec/Pattern/ReconcileProperties.hs | 8 ++++++-- specs/031-pattern-reconciliation/spec.md | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/libs/pattern/tests/Spec/Pattern/ReconcileProperties.hs b/libs/pattern/tests/Spec/Pattern/ReconcileProperties.hs index 661d761..a278d31 100644 --- a/libs/pattern/tests/Spec/Pattern/ReconcileProperties.hs +++ b/libs/pattern/tests/Spec/Pattern/ReconcileProperties.hs @@ -222,9 +222,13 @@ spec = do let ids = collectAllIdentities reconciled in length ids === length (Set.fromList ids) - -- Full Merge support with element deduplication is implemented in Phase 4 it "each identity appears at most once after reconciliation (Merge)" $ - pendingWith "Full Merge with element deduplication is Phase 4 (User Story 2)" + property $ \(pattern :: Pattern Subject) -> + case reconcile (Merge UnionElements defaultSubjectMergeStrategy) pattern of + Left _ -> property True -- Error case doesn't apply + Right reconciled -> + let ids = collectAllIdentities reconciled + in length ids === length (Set.fromList ids) describe "Determinism Properties" $ do it "reconciling the same pattern twice gives identical results (LastWriteWins)" $ diff --git a/specs/031-pattern-reconciliation/spec.md b/specs/031-pattern-reconciliation/spec.md index cee7a6f..7121669 100644 --- a/specs/031-pattern-reconciliation/spec.md +++ b/specs/031-pattern-reconciliation/spec.md @@ -2,7 +2,7 @@ **Feature Branch**: `031-pattern-reconciliation` **Created**: 2026-01-23 -**Status**: Draft +**Status**: Implemented (2026-02-12) **Input**: User description: "Pattern Subject reconciliation as described in proposals/pattern-reconciliation.md" ## Clarifications