Example #1
0
        public void WriteLogMessage(int arg1, Guid arg2, Boo arg3)
        {
            _logWriteCallback = (context, message) =>
            {
                _converters.Read <int>(message[nameof(arg1)]).Should().Be(arg1);
                _converters.Read <Guid>(message[nameof(arg2)]).Should().Be(arg2);
                _converters.Read <Boo>(message[nameof(arg3)]).Should().BeEquivalentTo(arg3);
            };

            _logger.Debug("Template {arg1}, {arg2}, {arg3}", arg1, arg2, arg3);

            _logWriter.Verify(writer => writer
                              .Write(It.IsAny <LogContext>(), It.IsNotNull <JsonObject>()));
        }
Example #2
0
            public bool MoveNext()
            {
                while (_tokenizer.MoveNext())
                {
                    var tokenType = _tokenizer.Current.TokenType;

                    if (tokenType == JsonTokenType.ArrayEnd)
                    {
                        break;
                    }
                    if (tokenType != JsonTokenType.ObjectStart)
                    {
                        throw Error.Deserialization(JsonTokenType.ObjectStart, tokenType);
                    }

                    var entityData = JsonVisitor.VisitObject(_tokenizer);
                    var entityType = entityData.TryGet("_type", out var typeData)
                        ? _descriptions.GetEntityType(_converters.Read <string>(typeData))
                        : Typeof <TEntity> .Raw;

                    var entityConverter = _converters.Get(entityType);
                    var entity          = (TEntity)entityConverter.ReadObject(entityData) !;

                    Current = entity !;

                    return(true);
                }

                return(false);
            }