============================================================
 DICTIONARY-BASED CONTACT BOOK - Demo Run
============================================================

--- Adding contacts ---
  Added contact 'Alice Johnson'.
  Added contact 'Bob Smith'.
  Added contact 'Carol White'.

--- Duplicate add prevention ---
  Contact 'Alice Johnson' already exists -- use update instead.

--- Lookup ---
  lookup('Bob Smith') = {'name': 'Bob Smith', 'phone': '555-0102', 'email': 'bob@example.com'}
  lookup('Nobody') = None

--- Update field ---
  Updated phone for 'Bob Smith'.
  Confirmed: {'name': 'Bob Smith', 'phone': '555-9876', 'email': 'bob@example.com'}

--- Search (partial match) ---
  search('555-01') = ['Alice Johnson', 'Carol White']
  search('carol') = ['Carol White']

--- List all (sorted) ---
  ['Alice Johnson', 'Bob Smith', 'Carol White']

--- Delete ---
  Deleted contact 'Carol White'.
  Contact 'Carol White' not found.  (already deleted)

============================================================
 Assignment: export/import round trip
============================================================
NAME: Alice Johnson
PHONE: 555-0101
EMAIL: alice@example.com
---
NAME: Bob Smith
PHONE: 555-9876
EMAIL: bob@example.com
---

  Re-imported into new book. Contacts: ['Alice Johnson', 'Bob Smith']
  Round-trip data matches: True
