public void UseManualIds_Should_make_ResolveBuilderForInsert_to_return_builder_with_EmptyStructureIdGenerator() { var serializerFake = new Mock<IStructureSerializer>(); var structureBuilders = new StructureBuilders( () => serializerFake.Object, s => Mock.Of<IStructureIdGenerator>(), (s, d) => Mock.Of<IIdentityStructureIdGenerator>()); var dbFake = new Mock<ISisoDatabase>(); dbFake.SetupGet(f => f.StructureBuilders).Returns(structureBuilders); dbFake.Object.Configure().UseManualIds(); var builder = structureBuilders.ResolveBuilderForInsert(Mock.Of<IStructureSchema>(), Mock.Of<IDbClient>()); Assert.AreEqual(typeof(EmptyStructureIdGenerator), builder.StructureIdGenerator.GetType()); }
public void UseAutoIds_Should_make_ResolveBuilderForInsert_to_return_builder_for_autoIds_but_still_resolve_idgenerators() { var schemaFake = new Mock<IStructureSchema>(); schemaFake.SetupGet(f => f.IdAccessor).Returns(() => { var id = new Mock<IIdAccessor>(); id.SetupGet(f => f.IdType).Returns(StructureIdTypes.Guid); return id.Object; }); var serializerFake = new Mock<IStructureSerializer>(); var structureBuilders = new StructureBuilders( () => serializerFake.Object, s => Mock.Of<IStructureIdGenerator>(), (s, d) => Mock.Of<IIdentityStructureIdGenerator>()); var dbFake = new Mock<ISisoDatabase>(); dbFake.SetupGet(f => f.StructureBuilders).Returns(structureBuilders); dbFake.Object.Configure().UseAutoIds(); var builder = structureBuilders.ResolveBuilderForInsert(schemaFake.Object, Mock.Of<IDbClient>()); Assert.AreEqual(typeof(StructureBuilderAutoId), builder.GetType()); }
public void UseGuidStructureIdGeneratorResolvedBy_Should_make_ResolveBuilderForInsert_to_return_builder_with_configured_id_generator() { var serializerFake = new Mock<IStructureSerializer>(); var structureBuilders = new StructureBuilders( () => serializerFake.Object, s => Mock.Of<IStructureIdGenerator>(), (s, d) => Mock.Of<IIdentityStructureIdGenerator>()); var dbFake = new Mock<ISisoDatabase>(); dbFake.SetupGet(f => f.StructureBuilders).Returns(structureBuilders); dbFake.Object.Configure().UseGuidStructureIdGeneratorResolvedBy(s => new EmptyStructureIdGenerator()); var builder = structureBuilders.ResolveBuilderForInsert(StructureSchemaTestFactory.Stub<MyClassWithGuidId>(generateIdAccessor: true), Mock.Of<IDbClient>()); Assert.AreEqual(typeof(EmptyStructureIdGenerator), builder.StructureIdGenerator.GetType()); }