Beispiel #1
0
        public void ReadSessions_AreVeryFastWhenNoChanges()
        {
            using (var session = DocumentStore.OpenWriteSession())
            {
                for (var i = 0; i < 50; i++)
                {
                    var project = new Project
                    {
                        Id = "acme-" + i,
                        Name = "My project 2",
                        Description = "Foo"
                    };

                    session.Store(project);
                }

                session.Commit("Added 50 projects");
            }

            var watch = Stopwatch.StartNew();
            var count = 0;
            while (watch.ElapsedMilliseconds < 2000)
            {
                using (var session = DocumentStore.OpenReadSession())
                {
                    var projects = session.Query<Project>();
                    var project = session.Load<Project>("acme-13");
                    count += projects.Count;
                }
            }

            Trace.WriteLine("Loaded: " + count);
            Assert.That(count, Is.GreaterThan(50000));
        }
        public void ShouldMatchProject()
        {
            Conventions.Register(typeof(Project));

            var type = Conventions.GetType("projects\\acme\\project.json");
            Assert.That(type, Is.EqualTo(typeof(Project)));

            var proj = new Project();
            Conventions.AssignId("projects\\acme\\project.json", proj);
            Assert.That(proj.Id, Is.EqualTo("acme"));

            var path = Conventions.GetPath(typeof (Project), proj);
            Assert.That(path, Is.EqualTo("projects\\acme\\project.json"));
        }
Beispiel #3
0
        WaitHandle CreateCommitter(WaitHandle signalWhenReadyToStart)
        {
            var i = int.Parse(Math.Abs(Guid.NewGuid().GetHashCode()).ToString().Substring(5));
            return StartOnMySignal(signalWhenReadyToStart, delegate
            {

                using (var session = DocumentStore.OpenWriteSession())
                {
                    for (var j = 0; j < 20; j++)
                    {
                        i++;
                        var project = new Project()
                        {
                            Id = i.ToString(),
                            Name = "Project " + i,
                            Description = "Special project " + i
                        };
                        session.Store(project);
                    }

                    session.Commit("Added 20 projects from: " + i);
                }

                Interlocked.Add(ref writes, 25);

                Thread.Sleep(200);
            });
        }