--- SimpleDocument ---
Input: { "a" : 1, "b" : "hello", "c" : true }
KeyPattern: { "$**" : 1 }
Keys (3):
  { "" : "a", "" : 1 }
  { "" : "b", "" : "hello" }
  { "" : "c", "" : true }

MultikeyPaths (0):

--- NestedDocument ---
Input: { "a" : { "b" : 1, "c" : 2 } }
KeyPattern: { "$**" : 1 }
Keys (2):
  { "" : "a.b", "" : 1 }
  { "" : "a.c", "" : 2 }

MultikeyPaths (0):

--- ArrayValue ---
Input: { "a" : [ 1, 2, 3 ] }
KeyPattern: { "$**" : 1 }
Keys (3):
  { "" : "a", "" : 1 }
  { "" : "a", "" : 2 }
  { "" : "a", "" : 3 }

MultikeyPaths (1):
  { "" : 1, "" : "a" }

--- EmptyDocument ---
Input: {}
KeyPattern: { "$**" : 1 }
Keys (0):

MultikeyPaths (0):

--- NullField ---
Input: { "a" : null }
KeyPattern: { "$**" : 1 }
Keys (1):
  { "" : "a", "" : null }

MultikeyPaths (0):

--- EmptyObjectField ---
Input: { "a" : {} }
KeyPattern: { "$**" : 1 }
Keys (1):
  { "" : "a", "" : {} }

MultikeyPaths (0):

--- EmptyArrayField ---
Input: { "a" : [] }
KeyPattern: { "$**" : 1 }
Keys (1):
  { "" : "a", "" : { "$undefined" : true } }

MultikeyPaths (1):
  { "" : 1, "" : "a" }

--- ArrayOfObjects ---
Input: { "a" : [ { "b" : 1 }, { "b" : 2 } ] }
KeyPattern: { "$**" : 1 }
Keys (2):
  { "" : "a.b", "" : 1 }
  { "" : "a.b", "" : 2 }

MultikeyPaths (1):
  { "" : 1, "" : "a" }

--- DeepNesting ---
Input: { "a" : { "b" : { "c" : { "d" : 42 } } } }
KeyPattern: { "$**" : 1 }
Keys (1):
  { "" : "a.b.c.d", "" : 42 }

MultikeyPaths (0):

--- WithId ---
Input: { "_id" : 1, "a" : 2, "b" : 3 }
KeyPattern: { "$**" : 1 }
Keys (2):
  { "" : "a", "" : 2 }
  { "" : "b", "" : 3 }

MultikeyPaths (0):

--- SingleFieldWildcard ---
Input: { "a" : { "x" : 1, "y" : 2 }, "b" : 3 }
KeyPattern: { "a.$**" : 1 }
Keys (2):
  { "" : "a.x", "" : 1 }
  { "" : "a.y", "" : 2 }

MultikeyPaths (0):

--- ArrayOfArrays ---
Input: { "a" : [ [ 1, 2 ], [ 3, 4 ] ] }
KeyPattern: { "$**" : 1 }
Keys (2):
  { "" : "a", "" : [ 1, 2 ] }
  { "" : "a", "" : [ 3, 4 ] }

MultikeyPaths (1):
  { "" : 1, "" : "a" }

--- DeeplyNestedArrays ---
Input: { "a" : [ { "b" : [ 1, 2 ] }, { "b" : [ 3, 4 ] } ] }
KeyPattern: { "$**" : 1 }
Keys (4):
  { "" : "a.b", "" : 1 }
  { "" : "a.b", "" : 2 }
  { "" : "a.b", "" : 3 }
  { "" : "a.b", "" : 4 }

MultikeyPaths (2):
  { "" : 1, "" : "a" }
  { "" : 1, "" : "a.b" }

--- NumericFieldNames ---
Input: { "0" : "zero", "1" : "one", "2" : "two" }
KeyPattern: { "$**" : 1 }
Keys (3):
  { "" : "0", "" : "zero" }
  { "" : "1", "" : "one" }
  { "" : "2", "" : "two" }

MultikeyPaths (0):

--- MultiLevelArrays ---
Input: { "a" : { "b" : [ { "c" : [ 1, 2 ] }, { "c" : [ 3 ] } ] } }
KeyPattern: { "$**" : 1 }
Keys (3):
  { "" : "a.b.c", "" : 1 }
  { "" : "a.b.c", "" : 2 }
  { "" : "a.b.c", "" : 3 }

MultikeyPaths (2):
  { "" : 1, "" : "a.b" }
  { "" : 1, "" : "a.b.c" }

--- NestedFieldWildcard ---
Input: { "a" : { "b" : { "x" : 1, "y" : 2 }, "c" : 3 }, "d" : 4 }
KeyPattern: { "a.b.$**" : 1 }
Keys (2):
  { "" : "a.b.x", "" : 1 }
  { "" : "a.b.y", "" : 2 }

MultikeyPaths (0):

--- InclusionProjection ---
Input: { "a" : 1, "b" : 2, "c" : 3, "d" : 4 }
KeyPattern: { "$**" : 1 }
Keys (2):
  { "" : "a", "" : 1 }
  { "" : "b", "" : 2 }

MultikeyPaths (0):

--- ExclusionProjection ---
Input: { "a" : 1, "b" : 2, "c" : 3, "d" : 4 }
KeyPattern: { "$**" : 1 }
Keys (2):
  { "" : "c", "" : 3 }
  { "" : "d", "" : 4 }

MultikeyPaths (0):

--- OnlyId ---
Input: { "_id" : "onlyid" }
KeyPattern: { "$**" : 1 }
Keys (0):

MultikeyPaths (0):

--- UndefinedField ---
Input: { "a" : { "$undefined" : true } }
KeyPattern: { "$**" : 1 }
Keys (1):
  { "" : "a", "" : { "$undefined" : true } }

MultikeyPaths (0):

--- MinKeyField ---
Input: { "a" : { "$minKey" : 1 } }
KeyPattern: { "$**" : 1 }
Keys (1):
  { "" : "a", "" : { "$minKey" : 1 } }

MultikeyPaths (0):

