public void Touch()
        {
            WxeFunctionStateManager functionStateManager = new WxeFunctionStateManager(_session);

            functionStateManager.Add(_functionState);
            DateTime lastAccess = functionStateManager.GetLastAccess(_functionState.FunctionToken);

            Thread.Sleep(1000);
            functionStateManager.Touch(_functionState.FunctionToken);
            Assert.Greater(functionStateManager.GetLastAccess(_functionState.FunctionToken), lastAccess);
        }
        public void InitializeFromExistingSession()
        {
            DateTime lastAccess            = DateTime.Now;
            var      functionStateMetaData = new WxeFunctionStateManager.WxeFunctionStateMetaData(Guid.NewGuid().ToString(), 1, lastAccess);
            var      functionStates        = new Dictionary <string, WxeFunctionStateManager.WxeFunctionStateMetaData>();

            functionStates.Add(functionStateMetaData.FunctionToken, functionStateMetaData);
            _session[GetSessionKeyForFunctionStates()] = functionStates;

            var functionStateManager = new WxeFunctionStateManager(_session);

            Assert.That(functionStateManager.GetLastAccess(functionStateMetaData.FunctionToken), Is.EqualTo(lastAccess));
        }