public void can_build_a_generator()
        {
            var settings = new HiloSettings();

            var sequence = Substitute.For<ISequence>();
            var sequences = Substitute.For<ISequences>();
            var schema = Substitute.For<IDocumentSchema>();

            schema.Sequences.Returns(sequences);
            sequences.Hilo(typeof(Target), settings).Returns(sequence);

            var mapping = DocumentMapping.For<Target>();
            var generation = new IdentityKeyGeneration(mapping, settings);


            var generator = generation.Build<string>(schema).ShouldBeOfType<IdentityKeyGenerator>();
            generator
                .Sequence.ShouldBeSameAs(sequence);

            generator.Alias.ShouldBe(mapping.Alias);
        }
        public void can_build_a_generator()
        {
            var settings = new HiloSettings();

            var sequence  = Substitute.For <ISequence>();
            var sequences = Substitute.For <ISequences>();
            var schema    = Substitute.For <IDocumentSchema>();

            schema.Sequences.Returns(sequences);
            sequences.Hilo(typeof(Target), settings).Returns(sequence);

            var mapping    = DocumentMapping.For <Target>();
            var generation = new IdentityKeyGeneration(mapping, settings);


            var generator = generation.Build <string>(schema).ShouldBeOfType <IdentityKeyGenerator>();

            generator
            .Sequence.ShouldBeSameAs(sequence);

            generator.Alias.ShouldBe(mapping.Alias);
        }