public void DuplicatesAreNotAddedWhenPathingIsOff() // NOTE this test also shows that properties are handled in order if child was before converter in toplevel then the expected value would be value2.. { var candidate = new TopLevel { Converter = new Converter(), Child = new Child { Converter = new Converter("value2") } }.ToStringDictionary(false); Assert.That(candidate.ContainsKey("Child.key"), Is.False); Assert.That(candidate["key"], Is.EqualTo("value")); }