コード例 #1
0
		public void CanRestart()
		{
			using (var options = new StreamOptions
			{
				Storage = new FileSystemLowLevelStorage("data")
			})
			{
				using (var eventStream = new EventStream(options))
				{
					for (int i = 0; i < 15; i++)
					{
						eventStream.AppendAsync(new RavenJObject { { "counter", i } }).Wait();
					}

					eventStream.FlushMemTableToFiskAsync(Etag.Empty).Wait();
					eventStream.FlushingMemTable.Wait();
				}

				using (var eventStream = new EventStream(options))
				{
					Assert.Equal(15, eventStream.EventCount);

					int x = 0;
					foreach (var it in eventStream.ReadFrom(Etag.Empty))
					{
						Assert.Equal(x++, it.Value<int>("counter"));
					}
				}
			}
		}
コード例 #2
0
		public void AndGetRightCount_Sequence()
		{
			using (var options = new StreamOptions())
			using (var eventStream = new EventStream(options))
			{
				for (int i = 0; i < 15; i++)
				{
					eventStream.AppendAsync(new RavenJObject { { "counter", i } }).Wait();
				}

				var list = eventStream.ReadFrom(Etag.Empty).ToList();
				Assert.Equal(15, list.Count);
			}
		} 
コード例 #3
0
		public void AndReadContentsProperly()
		{
			using (var options = new StreamOptions())
			using (var eventStream = new EventStream(options))
			{
				for (int i = 0; i < 15; i++)
				{
					eventStream.AppendAsync(new RavenJObject { { "counter", i } }).Wait();
				}

				int x = 0;
				foreach (var item in eventStream.ReadFrom(Etag.Empty))
				{
					var value = item.Value<int>("counter");
					Assert.Equal(x++, value);
				}
			}
		}