Ejemplo n.º 1
0
		public async Task SetValue_ShouldCallAddOrUpdate(
			[Frozen]ThrowingTestScheduler scheduler,
			[Frozen]Mock<IAsyncStorage> table,
			Services.SettingsService sut,
			string key,
			object expected)
		{
			//arrange
			var verifiable = table.Setup(t => t.AddOrUpdate(key, expected, It.IsAny<CancellationToken>())).ReturnsDefaultTaskVerifiable();

			//act
			await sut.SetValue(key, expected, CancellationToken.None);

			//assert
			verifiable.Verify();
		}
Ejemplo n.º 2
0
		public async Task ObserveValue_WhenCallSet_ShouldReturnValue(
			[Frozen]ThrowingTestScheduler scheduler,
			[Frozen]Mock<IAsyncStorage> table,
			Services.SettingsService sut,
			string key,
			object expected)
		{
			//arrange
			table.Setup(t => t.Contains<string, object>(key, It.IsAny<CancellationToken>())).ReturnsTask(false);
			table.Setup(t => t.AddOrUpdate(key, It.IsAny<object>(), It.IsAny<CancellationToken>())).ReturnsDefaultTask();
			
			//act
			var observer = scheduler.CreateObserver<object>();
			sut.ObserveValue(key, () => default(object)).Skip(1).Subscribe(observer);
			await sut.SetValue(key, expected, CancellationToken.None);
			
			//assert
			observer.Values().Last().Should().Be(expected);
		}