public void ValidateFile_Deserialisation(string fileName, bool canDeserialise)
        {
            var basePath = AppDomain.CurrentDomain.BaseDirectory;

            basePath = Path.Combine(basePath, "Resources");
            var path = Path.Combine(basePath, fileName);

            var    manager = new UserRoleManager();
            string message = null;
            var    result  = manager.LoadUserRoleFromFile(path, ref message);

            Assert.AreEqual(canDeserialise, result, "Should return correct deserialisation result");

            if (canDeserialise)
            {
                Assert.IsTrue(string.IsNullOrEmpty(message), "Should return no message if it succeded");
                Assert.IsTrue(manager.UserRoles != null, "Successfully load data");
                Assert.IsTrue(manager.Roles.Count > 0, "Successfully load roles");
                Assert.IsTrue(manager.Users.Count > 0, "Successfully load users");
            }
            else
            {
                Assert.IsTrue(message.StartsWith("Invalid character after parsing property name."), "Should return error message if it failed");
            }
        }
        public void ValidateFile_Path()
        {
            var    manager = new UserRoleManager();
            string message = null;
            var    result  = manager.LoadUserRoleFromFile("Invalid/Path", ref message);

            Assert.IsFalse(result, "Should fail path validation");
            Assert.AreEqual(message, "Invalid file path.");
        }