public void Return()
        {
            // Arrange
            string key = "key";

            var expectedData = TestDatas.GetFakeTestPhaseModels();

            byte[]          sessionValue  = null;
            Mock <ISession> mockedSession = new Mock <ISession>();

            mockedSession
            .Setup(x => x.Set(It.IsAny <string>(), It.IsAny <byte[]>()))
            .Callback((string k, byte[] v) => sessionValue = v);

            mockedSession
            .Setup(x => x.TryGetValue(It.IsAny <string>(), out sessionValue))
            .OutCallback((string k, out byte[] v) => v = sessionValue)
            .Returns(true);


            Mock <HttpContext> mockedHttpContext = new Mock <HttpContext>();

            mockedHttpContext.Setup(x => x.Session)
            .Returns(mockedSession.Object);

            var _mockHttpContextAccessor = new Mock <IHttpContextAccessor>();

            _mockHttpContextAccessor
            .Setup(x => x.HttpContext)
            .Returns(mockedHttpContext.Object);

            ISessionStorage _sessionStorage = new SessionStorage(_mockHttpContextAccessor.Object);

            // Act
            _sessionStorage.SetObjectAsJson(key, expectedData);
            var actual = _sessionStorage.GetObjectFromJson <List <TestPhaseModel> >(key);

            // Assert
            //Assert.Equal(expectedData, actual);
            actual.Should().BeEquivalentTo(expectedData);
        }