Пример #1
0
            protected override void Given()
            {
                _markerString = GetType().FullName;

                _generatorSetup = new GeneratorSetup();
                _generatorSetup.DefaultFlushStrategy = new LimitedCapacityFlushStrategy(10);
                _generatorSetup.DefaultPersistentStorages.Add(
                    new EntityFrameworkCorePersistentStorage(() => new SampleDbContext()));

                _generatorSetup.RegisterEntity <Category>()
                .SetTargetCount(25)
                .SetGenerator(ctx => new Category()
                {
                    Name       = $"Category #{ctx.CurrentCount}",
                    MarkerText = _markerString
                });
                _generatorSetup.RegisterEntity <Post>()
                .SetInsertToPersistentStorageBeforeUse(true)
                .SetTargetCount(100)
                .SetGenerator(ctx => new Post()
                {
                    MarkerText = _markerString
                });
                _generatorSetup.RegisterEntity <Comment>()
                .SetTargetCount(50)
                .SetGenerator <Category, Post>((ctx, category, post) => new Comment()
                {
                    PostId      = post.Id,
                    CommentText = $"Comment in category: {category.Name}",
                    MarkerText  = _markerString
                });
            }
Пример #2
0
        static void Main(string[] args)
        {
            //Setup
            var setup = new GeneratorSetup();

            setup.RegisterEntity <Buyer>()
            .SetGenerator(GenerateBuyer)
            .SetPersistentStorage(new CsvPersistentStorage("Set-Buyers.csv"))
            .SetTargetCount(100);
            setup.RegisterEntity <Supplier>()
            .SetGenerator(GenerateSupplier)
            .SetPersistentStorage(new CsvPersistentStorage("Set-Suppliers.csv"))
            .SetTargetCount(100);
            setup.RegisterEntity <PurchaseOrder>()
            .SetGenerator <Supplier, Buyer>(GeneratePurchaseOrder)
            .AddMultiModifier <Supplier, Buyer>(ModifyPurchaseOrders)
            .SetPersistentStorage(new CsvPersistentStorage("Set-PurchaseOrders.csv"))
            .SetSpreadStrategy(new CartesianProductSpreadStrategy())
            .SetTargetCount(100000);

            //Generate
            setup.ProgressChanged += PrintProgress;
            setup.Generate();
            Console.WriteLine("Completed");
            Console.ReadKey();
        }
Пример #3
0
        //methods
        public override void RegisterEntities(GeneratorSetup setup, SpecsDbContext dbContext)
        {
            IMongoDatabase _database = dbContext.SignalBounces.Database;

            setup.RegisterEntity <SubscriberWithMissingData>()
            .SetGenerator(GenerateSubscriber);

            setup.RegisterEntity <SpecsDeliveryTypeSettings>()
            .SetMultiGenerator <SubscriberWithMissingData>(GenerateDeliveryTypes)
            .SetPersistentStorage(new MongoDbPersistentStorage(_database, dbContext.SubscriberDeliveryTypeSettings.CollectionNamespace.CollectionName));

            setup.RegisterEntity <SubscriberTopicSettings <ObjectId> >()
            .SetMultiGenerator <SubscriberCategorySettings <ObjectId>, SubscriberWithMissingData>(GenerateTopics)
            .SetPersistentStorage(new MongoDbPersistentStorage(_database, dbContext.SubscriberTopicSettings.CollectionNamespace.CollectionName));
        }
        //register generators
        public virtual void RegisterEntities(GeneratorSetup setup, SpecsDbContext dbContext)
        {
            IMongoDatabase _database = dbContext.SignalBounces.Database;

            setup.RegisterEntity <SignalDispatch <ObjectId> >()
            .SetGenerator(GenerateDispatches)
            .SetPersistentStorage(new MongoDbPersistentStorage(_database, dbContext.SignalDispatches.CollectionNamespace.CollectionName));
        }