Community
Participate
Working Groups
Debug the following: program caseProblem myDictionary Dictionary = new dictionary ( true, OrderingKind.byInsertion ) { ID = 5, lastName = "Twain", firstName = "Mark" }; myBoolean boolean; function main() myBoolean = myDictionary.containsKey("ID"); SysLib.writeStdout("Should be true > " + myBoolean); myBoolean = myDictionary.containsKey("id"); SysLib.writeStdout("Should be false > " + myBoolean); myBoolean = myDictionary.containsKey("lastName"); SysLib.writeStdout("Should be true > " + myBoolean); myBoolean = myDictionary.containsKey("lastname"); SysLib.writeStdout("Should be false > " + myBoolean); end end It looks like the caseSensitive true is not working on the first key ID but is working on lastName and firstName. Looking at the variables view in debug: myDictionary id <-- should be ID lastName firstName EDT results: Should be true > false Should be false > true Should be true > true Should be false > false RBD results as expected: Should be true > true Should be false > false Should be true > true Should be false > false /** * Constructor used to set the value of case sensitivity and ordering * * @param caseSensitive set if the dictionary is case sensitive * @param ordering set the order maintained in the dictionary. */ constructor(caseSensitive boolean in, ordering OrderingKind in);
The problem is that the xml has altered the value of "ID" to "id", which causes the failures.
I have fixed this with a change to EGL2MofExpression
Verified in 20111020 build.