Пример #1
0
                public void Should_Configure_Binder_With_Instance()
                {
                    var binder = new TestBinder();

                    AutoFaker.SetBinder(binder);

                    AutoFaker.DefaultConfig.Binder.Should().Be(binder);
                }
Пример #2
0
        /// <summary>
        /// Generate data using the supplied rows but only those proprties who appear in headers list
        /// Properties not in the headers list will use AutoFaker rules
        /// </summary>
        /// <typeparam name="TType"></typeparam>
        /// <param name=""></param>
        /// <param name="template"></param>
        /// <returns></returns>
        public static List <TType> GenerateWithTemplate <TType>(this AutoFaker <TType> src, List <string> headers, List <TType> rows) where TType : class
        {
            var templator = new Templator <TType>(src);

            var result = templator.GenerateFromTemplate(headers, rows);

            return(result);
        }
Пример #3
0
        /// <summary>
        /// Generate data using data values in template and AutoFaker for other values
        /// </summary>
        /// <typeparam name="TType"></typeparam>
        /// <param name=""></param>
        /// <param name="template"></param>
        /// <returns></returns>
        public static List <TType> GenerateWithTemplate <TType>(this AutoFaker <TType> src, string template) where TType : class
        {
            var templator = new Templator <TType>(src);

            var result = templator.GenerateFromTemplate(template);

            return(result);
        }
Пример #4
0
        public async Task GetFeedConnectionsTest()
        {
            int?page     = AutoFaker.Generate <int>();
            int?pageSize = AutoFaker.Generate <int>();
            var response = await instance.GetFeedConnectionsAsync(accessToken, xeroTenantId, page, pageSize);

            Assert.IsType <FeedConnections>(response);
        }
Пример #5
0
        public void Should_Populate_Object()
        {
            var obj = AutoFaker.Generate <Obj>();

            obj.Should().NotBeNull();
            obj.SomeStringProperty.Should().NotBeNullOrWhiteSpace();
            obj.SomeReadOnlyDictionary.Should().NotBeEmpty();
            obj.SomeImmutableDictionary.Should().BeNull();
        }
 public void GlobalSetup()
 {
     myObject         = AutoFaker.Generate <MyObject>();
     jsonCamelOptions = new JsonSerializerOptions
     {
         PropertyNamingPolicy = JsonNamingPolicy.CamelCase
     };
     jsonDefaultOptions = new JsonSerializerOptions();
 }
Пример #7
0
 public FixtureBase()
 {
     Faker = AutoFaker.Create(builder =>
     {
         builder
         .WithBinder <NSubstituteBinder>()
         .WithOverride(new ProductGeneratorOverride());
     });
 }
Пример #8
0
            public void Should_Use_Custom_Instantiator()
            {
                var binder = Substitute.For <IAutoBinder>();
                var order  = new AutoFaker <Order>(binder)
                             .CustomInstantiator(faker => new Order(default(int), default(ICalculator)))
                             .Generate();

                binder.DidNotReceive().CreateInstance <Order>(Arg.Any <AutoGenerateContext>());
            }
 public SearchServiceFixture()
 {
     _permitGenerator = new AutoFaker <Permit>();
     _permitGenerator.Configure(builder =>
     {
         builder.WithConventions();
         builder.WithBinder <MoqBinder>();
     });
 }
Пример #10
0
        public void Should_Not_Set_Product_Code()
        {
            var product = AutoFaker.Generate <TestProduct>(builder =>
            {
                builder.WithSkip <Exception>();
            });

            product.Error.Should().BeNull();
        }
Пример #11
0
        public void Should_Not_Set_Product_Notes()
        {
            var product = AutoFaker.Generate <TestProduct>(builder =>
            {
                builder.WithSkip <TestProduct>("Notes");
            });

            product.GetNotes().Should().BeEmpty();
        }
        public AutoBogusGenerator(AutoFaker <TEntity> faker)
        {
            if (faker == null)
            {
                throw new ArgumentNullException(nameof(faker));
            }

            _faker = faker;
        }
Пример #13
0
        public StaffTraining InsertTraining(Guid trId, DateTime?completedDate = null)
        {
            var tr = AutoFaker.Generate <StaffTraining>();

            tr.TrainingRequirementId = trId;
            tr.CompletedDate         = completedDate;
            DbConnection.Insert(tr);
            return(tr);
        }
Пример #14
0
        private void InitTestDatabase(DbContext context)
        {
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();
            var entities = AutoFaker.Generate <Entity>(10).ToList();

            context.Set <Entity>().AddRange(entities);
            context.SaveChanges();
        }
        public static IServiceProvider BuildServicesProvider(IConfiguration config, IDbConnection dbConnection)
        {
            var services = new ServiceCollection();

            var kConfig = new ProducerConfig
            {
                BootstrapServers = config.GetValue <string>("ServerKafka")
            };

            var externalConfig = new ExternalConfigVO
            {
                GatewayUrl     = config.GetValue <string>("GATEWAY__URL"),
                DeliveryUrl    = config.GetValue <string>("DELIVERY_URL"),
                TopicPagamento = config.GetValue <string>("PAGAMENTO_TOPIC")
            };

            services.AddSingleton(p => externalConfig);

            services.AddSingleton(config);
            services.AddScoped <IPagamentoCommand, PagamentoCommand>();
            services.AddScoped <IPagamentoRepository, PagamentoRepository>();

            services.AddScoped <IGatewayExternalService, GatewayExternalService>();
            services.AddScoped <IDeliveryExternalService, DeliveryExternalService>();

            services.AddScoped <IGatewayExternalContext, GatewayExternalContext>();
            services.AddScoped <IDeliveryExternalContext, DeliveryExternalContext>();

            services.ResolveConverters();

            //services.AddScoped<IDeliveryExternalContext>((idel) =>
            //{
            //    var mockDeliveryExternalContext = new Mock<DeliveryExternalContext>(externalConfig, kConfig);
            //    mockDeliveryExternalContext.Setup(s => s.AtualizaStatusPagamento(It.IsAny<DeliveryExternalParam>()))
            //        .Verifiable();

            //    return mockDeliveryExternalContext.Object;
            //});


            services.AddScoped((kf) =>
            {
                var result    = new AutoFaker <DeliveryResult <Null, string> >().Generate();
                var kafkaMock = new Mock <IProducer <Null, string> >();
                kafkaMock.Setup(r => r.ProduceAsync(It.IsAny <string>(), It.IsAny <Message <Null, string> >(),
                                                    It.IsAny <CancellationToken>())).ReturnsAsync(result);
                return(kafkaMock.Object);
            });

            services.AddTransient((db) =>
            {
                return(dbConnection);
            });

            return(services.BuildServiceProvider());
        }
Пример #16
0
        public void LocateStringTest()
        {
            var fakeLength = 4000;
            var bs         = AutoFaker.Generate <char>(fakeLength);

            //移除干扰数据
            var source = new string(bs.ToArray());

            source = source.Replace('a', '0').Replace('b', '0');

            //添加匹配项
            var pattern = "ab";
            var indexes = new[] { 234, 1199, 2020, 3333, 3989 };
            var il      = indexes.ToList();

            il.Sort();
            indexes = il.ToArray();

            foreach (var index in indexes)
            {
                source = source.Insert(index, pattern);
            }

            //测试
            source.Length.Should().Be(fakeLength + indexes.Length * 2);

            var r0 = source.ToCharArray().Locate(pattern.ToCharArray());
            var r1 = source.Locate(new string(pattern));

            r0.Should().BeEquivalentTo(r1);

            r0.Should().BeEquivalentTo(indexes);
            r1.Should().BeEquivalentTo(indexes);

            //性能测试

            long PerformanceTest(Action action)
            {
                var sw = new Stopwatch();

                sw.Start();

                for (var i = 0; i < 50000; i++)
                {
                    action?.Invoke();
                }

                sw.Stop();
                return(sw.ElapsedMilliseconds);
            }

            var t0 = PerformanceTest(() => source.ToCharArray().Locate(pattern.ToCharArray()));
            var t1 = PerformanceTest(() => source.Locate(pattern));

            Debugger.Break();
        }
Пример #17
0
        public ConfidentialInvoiceApplicationHandlerTests()
        {
            _confidentialInvoiceServiceMock = new Mock <IConfidentialInvoiceService>();
            var cidFaker         = new AutoFaker <ConfidentialInvoiceDiscount>();
            var companyDataFaker = new AutoFaker <SellerCompanyData>();

            _sellerApplicationFaker = new AutoFaker <SellerApplication>()
                                      .RuleFor(l => l.Product, () => cidFaker.Generate())
                                      .RuleFor(l => l.CompanyData, () => companyDataFaker.Generate());
        }
        public SelectiveInvoiceApplicationHandlerTests()
        {
            _selectiveInvoiceServiceMock = new Mock <ISelectInvoiceService>();
            var sidFaker         = new AutoFaker <SelectiveInvoiceDiscount>();
            var companyDataFaker = new AutoFaker <SellerCompanyData>();

            _sellerApplicationFaker = new AutoFaker <SellerApplication>()
                                      .RuleFor(l => l.Product, () => sidFaker.Generate())
                                      .RuleFor(l => l.CompanyData, () => companyDataFaker.Generate());
        }
Пример #19
0
        public async Task UpdatePayRunTest()
        {
            Guid          payRunID = AutoFaker.Generate <Guid>();
            List <PayRun> payRun   = new List <PayRun> {
                new PayRun()
            };
            var response = await instance.UpdatePayRunAsync(accessToken, xeroTenantId, payRunID, payRun);

            Assert.IsType <PayRuns>(response);
        }
Пример #20
0
 public void Should_Initialize_As_Configured()
 {
     AutoFaker.Generate <OverrideClass>(builder =>
     {
         builder
         .WithOverride(new TestOverride(false, context => context.Instance.Should().BeNull()))
         .WithOverride(new TestOverride(true, context => context.Instance.Should().NotBeNull()))
         .WithOverride(new TestOverride(false, context => context.Instance.Should().NotBeNull()));
     });
 }
Пример #21
0
        public BusinessLoansApplicationHandlerTests()
        {
            _businessLoansServiceMock = new Mock <IBusinessLoansService>();
            var businessLoansFaker = new AutoFaker <BusinessLoans>();
            var companyDataFaker   = new AutoFaker <SellerCompanyData>();

            _sellerApplicationFaker = new AutoFaker <SellerApplication>()
                                      .RuleFor(l => l.Product, () => businessLoansFaker.Generate())
                                      .RuleFor(l => l.CompanyData, () => companyDataFaker.Generate());
        }
Пример #22
0
        public async Task UpdateTimesheetTest()
        {
            Guid             timesheetID = AutoFaker.Generate <Guid>();
            List <Timesheet> timesheet   = new List <Timesheet> {
                new Timesheet()
            };
            var response = await instance.UpdateTimesheetAsync(accessToken, xeroTenantId, timesheetID, timesheet);

            Assert.IsType <Timesheets>(response);
        }
Пример #23
0
        public async Task UpdateSuperfundTest()
        {
            Guid             superFundID = AutoFaker.Generate <Guid>();
            List <SuperFund> superFund   = new List <SuperFund> {
                new SuperFund()
            };
            var response = await instance.UpdateSuperfundAsync(accessToken, xeroTenantId, superFundID, superFund);

            Assert.IsType <SuperFunds>(response);
        }
Пример #24
0
        public async Task UpdatePayslipTest()
        {
            Guid payslipID = AutoFaker.Generate <Guid>();
            List <PayslipLines> payslipLines = new List <PayslipLines> {
                new PayslipLines()
            };
            var response = await instance.UpdatePayslipAsync(accessToken, xeroTenantId, payslipID, payslipLines);

            Assert.IsType <Payslips>(response);
        }
Пример #25
0
            public override void Generate(AutoGenerateOverrideContext context)
            {
                // Get the code and apply a serial number value
                var serialNumber         = AutoFaker.Generate <string>();
                var codeProperty         = context.GenerateType.GetProperty("Code");
                var codeInstance         = codeProperty.GetValue(context.Instance);
                var serialNumberProperty = codeProperty.PropertyType.GetProperty("SerialNumber");

                serialNumberProperty.SetValue(codeInstance, serialNumber);
            }
Пример #26
0
        public async Task UpdateEmployeeTest()
        {
            Guid            employeeId = AutoFaker.Generate <Guid>();
            List <Employee> employee   = new List <Employee> {
                new Employee()
            };
            var response = await instance.UpdateEmployeeAsync(accessToken, xeroTenantId, employeeId, employee);

            Assert.IsType <Employees>(response);
        }
Пример #27
0
        public TrainingRequirement InsertRequirement(int firstYear = 2017, int?lastYear = null, int months = 12)
        {
            var tr = AutoFaker.Generate <TrainingRequirement>();

            tr.FirstYear        = firstYear;
            tr.LastYear         = lastYear;
            tr.RenewMonthsCount = months;
            DbConnection.Insert(tr);
            return(tr);
        }
Пример #28
0
        public async Task UpdateLeaveApplicationTest()
        {
            Guid leaveApplicationId = AutoFaker.Generate <Guid>();
            List <LeaveApplication> leaveApplication = new List <LeaveApplication> {
                new LeaveApplication()
            };
            var response = await instance.UpdateLeaveApplicationAsync(accessToken, xeroTenantId, leaveApplicationId, leaveApplication);

            Assert.IsType <LeaveApplications>(response);
        }
Пример #29
0
        public void CanMockQuery()
        {
            var person1 = AutoFaker.Generate <PersonExtended>();

            _servicesFixture.DbConnection.Insert(person1);
            _servicesFixture.DbConnection.Insert(AutoFaker.Generate <PersonExtended>());
            var actualPerson = _personRepository.People.Single(person => person.Id == person1.Id);

            Assert.Equal(person1.FirstName, actualPerson.FirstName);
        }
Пример #30
0
        public void Coordinate()
        {
            // Arrange
            var query = AutoFaker.Generate <Coordinate>();

            // Assert
            Assert.IsInstanceOfType(query.X, typeof(int));
            Assert.IsInstanceOfType(query.Y, typeof(int));
            Assert.IsInstanceOfType(query.Z, typeof(int));
        }