public RunOnceResult <T> End <T>() { if (m_key == null) { throw new InvalidOperationException(Properties.Resources.RunOnceServiceKeyNotInitialized); } var result = new RunOnceResult <T>(); var error = m_cache.Get <string>(string.Concat(ErrorKeyPrefix, m_key)); if (error != null) { m_validationState.AddError(error); result.Error = error; result.IsCompleted = true; } else { var datakey = new LazyDataKey <T>(string.Concat(ResultKeyPrefix, m_key)); if (m_cache.Get(datakey)) { if (datakey.HasValue) { result.Result = datakey.Value; result.IsCompleted = true; } } } return(result); }
public static void Value_HasNo_Value() { // Arrange var datakey = new LazyDataKey <int>("key"); // Act var result = datakey.Value; // Assert Assert.False(datakey.HasValue); Assert.Equal(0, result); }
public static void Value() { // Arrange var datakey = new LazyDataKey <int>("key"); datakey.Value = 100; // Act var result = datakey.Value; // Assert Assert.True(datakey.HasValue); Assert.Equal(100, result); }
public static void Load_HasValue() { // Arrange var mockFormatter = new Mock <IObjectFormatter>(MockBehavior.Strict); var datakey = new LazyDataKey <int>("key"); datakey.Initialize(mockFormatter.Object); // Act datakey.Load(new ArraySegment <byte>(new byte[] { }), 0); // Assert Assert.True(datakey.HasValue); mockFormatter.VerifyAll(); }
public static void Load_Value() { // Arrange var mockFormatter = new Mock <IObjectFormatter>(MockBehavior.Strict); var datakey = new LazyDataKey <int>("key"); mockFormatter .Setup(formatter => formatter.Deserialize <int>(It.IsAny <ArraySegment <byte> >(), 7)) .Returns(100); datakey.Initialize(mockFormatter.Object); // Act datakey.Load(new ArraySegment <byte>(new byte[] { }), 7); mockFormatter.Verify(formatter => formatter.Deserialize <int>(It.IsAny <ArraySegment <byte> >(), 7), Times.Never()); Assert.Equal(100, datakey.Value); mockFormatter.Verify(formatter => formatter.Deserialize <int>(It.IsAny <ArraySegment <byte> >(), 7), Times.Once()); // Assert mockFormatter.VerifyAll(); }