Updated tests to reflect updated functional requirements and restrictions.
Updated to ensure that tests are passed and new functional requirements met.