* Verify save session prompts before opening Save Dialog about only reserved ports being saved if there are some reserved ports and not prompted at all if no ports are reserved
* On open session, verify user is prompted before opening the file dialog if there are existing portgroups and not prompted at all if there are no port groups
* Verify open file dialog file filter has `(*.ssn *.*)`
* Verify opening a unsupported format file triggers an error and existing session is not changed
* Verify all existing portgroups are removed before new ones from the file are created and configured
* Verify that only ports in the opened session file are overwritten and other ports are not changed
* Verify that if port in the opened session file was reserved at save time, and the same port is now reserved by someone else, it is not changed and user is informed; if current port reservation is by self, port is overwritten with contents from the session file; all reservations made by open session are with self username, not the username who had reserved the port during save time (in other words, allow session files to be exchanged between users)
* Verify no unnecessary RPCs during open session
* if port has no existing streams, deleteStreams() is not invoked
* if port has no existing deviceGroups, deleteDeviceGroups() is not invoked
* if port config has no change, modifyPort() is not invoked
* if opened port has no streams, addStreams()/modifyStreams() is not invoked
* if opened port has no deviceGroups, addDeviceGroups()/modifyDeviceGroups() is not invoked
* Verify open session is successful
* All streams are restored with correct contents
* All deviceGroups are restored with correct contents
* Port config (TxMode, ExclusiveMode, UserName) is changed, if required