public void RegisterSerializer_RegisterDifferentSerializerTwoTimesForSameType_ThrowsException() { // Arrange var mongoDatabaseBuilder = new MongoDatabaseBuilder(_mongoOptions); var originalSerializer = new DuplicateRegisteredSerializer(); var differentSerializer = new DifferentRegisteredSerializer(); mongoDatabaseBuilder.RegisterSerializer <DuplicateType>(originalSerializer); mongoDatabaseBuilder.RegisterSerializer <DuplicateType>(differentSerializer); // Act Action registerSerializers = () => mongoDatabaseBuilder.Build(); // Assert Assert.Throws <BsonSerializationException>(registerSerializers); }
public void RegisterSerializer_RegisterSameSerializerTwoTimesForSameType_SerializerRegisteredOnce() { // Arrange var mongoDatabaseBuilder = new MongoDatabaseBuilder(_mongoOptions); var firstSerializer = new DuplicateRegisteredSerializer(); var secondSerializer = new DuplicateRegisteredSerializer(); mongoDatabaseBuilder.RegisterSerializer <DuplicateType>(firstSerializer); mongoDatabaseBuilder.RegisterSerializer <DuplicateType>(secondSerializer); // Act mongoDatabaseBuilder.Build(); // Assert IBsonSerializer <DuplicateType> registeredSerializer = BsonSerializer.LookupSerializer <DuplicateType>(); Assert.True(registeredSerializer is DuplicateRegisteredSerializer); }