public void DurationSerializer_Should_Serialize() { var serializer = new DurationSerializer(true); foreach (var value in Values) { Assert.AreEqual(value.Item2, ToHex(serializer.Serialize(4, value.Item1))); } }
public void DurationSerializer_Should_Deserialize() { var serializer = new DurationSerializer(true); foreach (var value in Values) { var buffer = FromHex(value.Item2); Assert.AreEqual(value.Item1, serializer.Deserialize(4, buffer, 0, buffer.Length, null)); } }
public static void AddMyMongoDb(this IServiceCollection services, IConfiguration config) { ActivityContextSerializer.Register(); ActivitySpanIdSerializer.Register(); ActivityTraceIdSerializer.Register(); DurationSerializer.Register(); InstantSerializer.Register(); LocalDateSerializer.Register(); LocalTimeSerializer.Register(); ConventionRegistry.Register("EnumStringConvention", new ConventionPack { new EnumRepresentationConvention(BsonType.String) }, t => true); ConventionRegistry.Register("IgnoreExtraElements", new ConventionPack { new IgnoreExtraElementsConvention(true) }, t => true); services.ConfigureAndValidate <MongoDbOptions>(config, "storage:mongoDb"); services.AddSingletonAs(c => { var connectionString = c.GetRequiredService <IOptions <MongoDbOptions> >().Value.ConnectionString; return(new MongoClient(connectionString)); }) .As <IMongoClient>(); services.AddSingletonAs(c => { var databaseName = c.GetRequiredService <IOptions <MongoDbOptions> >().Value.DatabaseName; return(c.GetRequiredService <IMongoClient>().GetDatabase(databaseName)); }) .As <IMongoDatabase>(); }