public void Count(QueryableOptions options)
 {
     Measure(
         () => _model.DeserializeItems <Event>(_stream, options.PrefixStyle, 0).Count(),
         () => _model.AsQueryable <Event>(_stream, options).Count()
         );
 }
Beispiel #2
0
        public void PlainObjectsWithNoInheritance()
        {
            const PrefixStyle prefix     = PrefixStyle.Base128;
            const string      memberName = "Id";

            using (var ms = new MemoryStream())
            {
                var items = new List <PlainObject>();
                for (var i = 0; i < 10; i++)
                {
                    items.Add(PlainObject.WithId(i));
                }

                foreach (var item in items)
                {
                    _model.SerializeWithLengthPrefix(ms, item, prefix);
                }

                var builder = new ProjectionTypeBuilder(_model);

                var type = builder.GetTypeForProjection(typeof(PlainObject), typeof(PlainObject).GetMember(memberName));

                ms.Seek(0, SeekOrigin.Begin);
                var deserializedItems = _model.DeserializeItems(ms, type, prefix, 0, null).Cast <object>().ToArray();

                Assert.AreEqual(items.Count, deserializedItems.Length);

                var fi = (FieldInfo)type.GetMember(memberName)[0];
                for (var i = 0; i < items.Count; i++)
                {
                    Assert.AreEqual(items[i].Id, (int)fi.GetValue(deserializedItems[i]));
                }
            }
        }
Beispiel #3
0
 public void Count()
 {
     Measure(
         () => _model.DeserializeItems <Event>(_stream, Prefix, 0).Count(),
         () => _model.AsQueryable <Event>(_stream, Prefix).Count()
         );
 }