Row 25:
If Not(isSame(mp1.Get(Key),mp2.Get(Key))) Then
I was curious on what could happen if Key wasn't available in map2. We all know that mp2.Get will return a
Null, but how will ConvertObjectToBytes react? An empty array?
A quick test showed that a Null gets converted to a 9-bytes array (120,-100,99,0,0,0,1,0,1), kind of a signature for Null.
So, a failure point (admittedly, an edge-case) could be when a Key present in mp1 and not in mp2 leads to a value of Null. Something like:
Dim mp1 As Map
Dim mp2 As Map
mp1.Initialize
mp2.Initialize
mp1.Put("one",Null)
mp2.Put("two", 2)
..
If Not(isSame(mp1.Get("one"),mp2.Get("one"))) Then
..
Here ConvertObjectToBytes will generate the same sequence for both maps. This is because Key "one" doesn't exist in map2 leading to an arry representing Null, the same array generated for the regular value Null returned by the Get on map1.
Well, now that my couriosity is satisfied I can get ready for my long walk (weather is very nice today)..