示例#1
0
        public async void CreateSimpleTenantAndVerify()
        {
            var uniqueId  = RandomNumberHelper.NextInteger();
            var domain    = $"Orange DIY (yId={uniqueId})";
            var newTenant = new TenantModel
            {
                Name        = "Generic Tools Tenant",
                Domain      = domain,
                Guid        = Guid.NewGuid(),
                Description = "Do-It-Yourself tool data domain (tenant)",
                CreatedAt   = DateTimeOffset.Now
            };

            var response = await _client.PostAsJsonAsync("/api/tenants", newTenant);

            _logger.LogDebug(response.ToString());
            response.EnsureSuccessStatusCode();
            var responseString = await response.Content.ReadAsStringAsync();

            _logger.LogDebug(responseString);
            Assert.Empty(responseString);

            _client.DefaultRequestHeaders.Add(TenantModel.DomainField, BoschTenants.BoschBlueDomain);
            response = await _client.GetAsync($"/api/tenants/{domain}");

            _logger.LogDebug("HTTP GET of Tenants returned status code: " + response.StatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(response.Content);
            var jsonContent = await response.Content.ReadAsStringAsync();

            _logger.LogDebug("HTTP GET of Tenants returned contents: " + jsonContent);
            Assert.False(string.IsNullOrWhiteSpace(jsonContent));
        }
示例#2
0
        private List <ShipmentPackageDTO> GenerateRandomPackageList()
        {
            List <ShipmentPackageDTO> packages = new List <ShipmentPackageDTO>();

            int packageQuantity = RandomNumberHelper.GetRandomInt(_minQuantity, _maxQuantity);

            // Get unique 2 digit numbers
            IEnumerable <int> uniqueAddressNumbers = RandomNumberHelper.GetUniqueRandomNumbers(10, 99, packageQuantity);

            int[] uniqueAddressNumbersArray = uniqueAddressNumbers.ToArray();

            // Get unique MINIMUM 8 digit numbers
            IEnumerable <int> uniquePackageNumbers = RandomNumberHelper.GetUniqueRandomNumbers(10000000, int.MaxValue, packageQuantity);

            int[] uniquePackageNumbersArray = uniquePackageNumbers.ToArray();

            for (int i = 0; i < packageQuantity; i++)
            {
                var package = new ShipmentPackageDTO();
                package.PackageWeightInKilos  = RandomNumberHelper.GetRandomInt(_minWeight, _maxWeight);
                package.DeliveryAddressNumber = uniqueAddressNumbersArray[i].ToString();
                package.PackageNumber         = uniquePackageNumbersArray[i].ToString();

                packages.Add(package);
            }

            // Order packages by weight so that maximum number of packages can be delivered in short time periods
            packages = packages.OrderBy(p => p.PackageWeightInKilos).ToList();

            return(packages);
        }
示例#3
0
        public async void CreatePostAndVerifyOk()
        {
            var client  = GetClient();
            var request = new RestRequest();

            request.Method   = Method.POST;
            request.Resource = "api/tools/";
            request.AddHeader("Accept", "application/json");
            string modelNumber = "TL" + RandomNumberHelper.NextInteger();
            var    theTool     = new ToolModel {
                Name = "A Power Tool", ModelNumber = modelNumber
            };

            request.AddJsonBody(theTool);
            var response = await client.Execute(request);

            Assert.NotNull(response);
            Assert.NotNull(response.Content);
            Assert.True(response.StatusCode == HttpStatusCode.Created);

            var toolModelRequest = new RestRequest
            {
                Method   = Method.GET,
                Resource = $"api/tools/{modelNumber}"
            };

            toolModelRequest.AddHeader("Accept", "application/json");
            toolModelRequest.AddParameter("GetBy", "ModelNumber", ParameterType.HttpHeader);
            var toolIdResponse = await client.Execute <ToolModel>(toolModelRequest);

            Assert.True(toolIdResponse.IsSuccess);
            _host.Dispose();
        }
        private void CreateState()
        {
            // Get a random number of Dirty Cells
            int numDirty = RandomNumberHelper.RandomNumber(1, (_gridSize * _gridSize));

            // Set variables
            _initState = new bool[_gridSize, _gridSize];

            // Build stack of tuples (Usually more efficient than looping till the right cell is randomly chosen)
            ArrayList arrList = new ArrayList();

            for (int i = 0; i < _gridSize; i++)
            {
                for (int j = 0; j < _gridSize; j++)
                {
                    arrList.Add((i, j));
                }
            }

            // Loop until all dirty cells are selected
            while (arrList.Count > 0 && numDirty-- > 0)
            {
                // Get row,col tuple
                int nextIndex = RandomNumberHelper.RandomNumber(0, arrList.Count - 1);
                var nextTuple = (Tuple <int, int>)arrList[nextIndex];

                // Set state to dirty and remove row,col combo
                _initState[nextTuple.Item1, nextTuple.Item2] = true;
                arrList.RemoveAt(nextIndex);
            }
        }
        public async void RepositoryCreateCategoryAndJobTest()
        {
            int nextId = RandomNumberHelper.NextInteger();

            using (var context = new JobAssistantContext(helper.Options)) {
                var category = new Category {
                    CategoryId = nextId, Name = "Test Category " + nextId
                };
                var job = new Job {
                    JobId = nextId, Name = "Test Job " + nextId
                };
                category.Jobs = new List <Job>();
                category.Jobs.Add(job);

                var repositoryUnderTest = new Repository(context);
                await repositoryUnderTest.Create <Category>(category);
            }

            using (var context = new JobAssistantContext(helper.Options)) {
                var repositoryUnderTest = new Repository(context);
                var parentCategory      = repositoryUnderTest.All <Category>().Include(c => c.Jobs).Single(c => c.CategoryId == nextId);
                Assert.NotNull(parentCategory);
                Assert.NotNull(parentCategory.Jobs);
                Assert.Equal(1, parentCategory.Jobs.Count);
                var childJob = parentCategory.Jobs.Single(j => j.JobId == nextId);
                Assert.Equal("Test Job " + nextId, childJob.Name);
                context.Remove(parentCategory);
                context.SaveChanges();
                var hasCategory = context.Categories.Any(c => c.CategoryId == nextId);
                Assert.False(hasCategory);
            }
        }
        public void VerifyDatabaseInsertOfJobWithPowerToolsTenant()
        {
            var helper   = new TestContextHelper("test_in-memory_DB-" + RandomNumberHelper.NextInteger());
            var context  = new JobAssistantContext(helper.Options);
            var ptDomain = new Tenant {
                DomainId = "Power Tools"
            };

            context.Tenants.Add(ptDomain);

            var grindJob = new Job
            {
                Name     = "Grind",
                DomainId = ptDomain.DomainId
            };

            Assert.True(grindJob.JobId == 0);
            context.Jobs.Add(grindJob);
            var efDefaultId = grindJob.JobId; // Temporarily assigned by EF

            Assert.True(efDefaultId > 0);
            var savedCount = context.SaveChanges();

            Assert.True(savedCount == 2);
            Assert.True(grindJob.JobId > 0); // New id is likely different than temporary id assigned above
        }
        public async void RepositoryCreateDeleteCategories()
        {
            using (var context = new JobAssistantContext(_helper.Options))
            {
                var repositoryUnderTest = new Repository(context);
                int firstId             = RandomNumberHelper.NextInteger();
                var firstCategory       = await repositoryUnderTest.Create <Category>(new Category { CategoryId = firstId, Name = "Test Category " + firstId }); // Was .Result

                int secondId       = RandomNumberHelper.NextInteger();
                var secondCategory = await repositoryUnderTest.Create <Category>(new Category { CategoryId = secondId, Name = "Test Category " + secondId }); // Was .Result

                Assert.Equal("Test Category " + firstId, context.Categories.Single(c => c.CategoryId == firstId).Name);
                Assert.Equal("Test Category " + secondId, context.Categories.Single(c => c.CategoryId == secondId).Name);

                await repositoryUnderTest.Delete <Category>(firstCategory);

                var verifyCategory = repositoryUnderTest.Single <Category>(c => c.CategoryId == firstCategory.CategoryId);
                Assert.Null(verifyCategory);

                await repositoryUnderTest.Delete <Category>(secondCategory);

                verifyCategory = repositoryUnderTest.Single <Category>(c => c.CategoryId == secondCategory.CategoryId);
                Assert.Null(verifyCategory);
            }
        }
        public async void CreateUpdateAndVerify()
        {
            var client = GetClient();

            var postRequest = new RestRequest();

            postRequest.Method   = Method.POST;
            postRequest.Resource = "api/categories/";
            postRequest.AddHeader("Accept", "application/json");
            string categoryName = "CAT" + RandomNumberHelper.NextInteger();
            var    theCategory  = new CategoryModel {
                Name = categoryName
            };

            postRequest.AddJsonBody(theCategory);
            var postResponse = await client.Execute(postRequest);

            Assert.NotNull(postResponse);
            Assert.NotNull(postResponse.Content);
            Assert.True(postResponse.StatusCode == HttpStatusCode.OK);

            _logger.LogDebug($"Created test category with name: {categoryName}");

            var categoryModelRequest = new RestRequest
            {
                Method   = Method.GET,
                Resource = $"api/categories/{categoryName}"
            };

            categoryModelRequest.AddHeader("Accept", "application/json");
            var categoryModelResponse = await client.Execute <CategoryModel>(categoryModelRequest);

            Assert.True(categoryModelResponse.IsSuccess);

            _logger.LogDebug($"Retrieved test category with an id of: {categoryModelResponse.Data.CategoryId}");

            var updateRequest = new RestRequest();

            updateRequest.Method   = Method.PUT;
            updateRequest.Resource = $"api/categories/{categoryModelResponse.Data.CategoryId}";
            updateRequest.Parameters.Clear();
            updateRequest.AddHeader(TenantModel.DomainField, BoschTenants.BoschBlueDomain);
            updateRequest.AddHeader("Accept", "application/json");
            var theUpdatedCategory = categoryModelResponse.Data;

            theUpdatedCategory.Name = "UPDATED_CAT" + RandomNumberHelper.NextInteger();
            updateRequest.AddJsonBody(theUpdatedCategory);
            var updateResponse = await client.Execute(updateRequest);

            Assert.NotNull(updateResponse);
            Assert.NotNull(updateResponse.Content);
            Assert.True(updateResponse.StatusCode == HttpStatusCode.OK);

            _logger.LogDebug($"Updated test category with an id of: {theUpdatedCategory.CategoryId}");

            _host.Dispose();
        }
        public async Task <string> Add(Account account)
        {
            account.AccountNumber = RandomNumberHelper.GenerateNumber();
            await bankDBContext.AddAsync <Account>(account);

            await bankDBContext.SaveChangesAsync();

            return(account.AccountNumber);
        }
        public async Task <string> IssueChequeBook(ChequeBook chequeBook)
        {
            chequeBook.ChequeBookNumber = RandomNumberHelper.GenerateNumber();
            await bankDBContext.AddAsync <ChequeBook>(chequeBook);

            await bankDBContext.SaveChangesAsync();

            return(chequeBook.ChequeBookNumber);
        }
示例#11
0
        public async void CreateUpdateAndVerify()
        {
            var client = GetClient();

            var postRequest = new RestRequest();

            postRequest.Method   = Method.POST;
            postRequest.Resource = "api/tools/";
            postRequest.AddHeader("Accept", "application/json");
            string modelNumber = "TL" + RandomNumberHelper.NextInteger();
            var    theTool     = new ToolModel {
                Name = "A Power Tool", ModelNumber = modelNumber
            };

            postRequest.AddJsonBody(theTool);
            var postResponse = await client.Execute(postRequest);

            Assert.NotNull(postResponse);
            Assert.NotNull(postResponse.Content);
            Assert.True(postResponse.StatusCode == HttpStatusCode.Created);

            _logger.LogDebug($"Created test tool for model id: {modelNumber}");

            var toolModelRequest = new RestRequest
            {
                Method   = Method.GET,
                Resource = $"api/tools/{modelNumber}"
            };

            toolModelRequest.AddHeader("Accept", "application/json");
            toolModelRequest.AddParameter("QueryBy", "ModelNumber", ParameterType.HttpHeader);
            var toolModelResponse = await client.Execute <ToolModel>(toolModelRequest);

            Assert.True(toolModelResponse.IsSuccess);

            _logger.LogDebug($"Retrieved test tool with an id of: {toolModelResponse.Data.ToolId}");

            var updateRequest = new RestRequest();

            updateRequest.Method   = Method.PUT;
            updateRequest.Resource = $"api/tools/{toolModelResponse.Data.ToolId}";
            updateRequest.AddHeader("Accept", "application/json");
            var theUpdatedTool = toolModelResponse.Data;

            theUpdatedTool.Name = "A Power Tool (UPDATED)";
            updateRequest.AddJsonBody(theUpdatedTool);
            var updateResponse = await client.Execute(updateRequest);

            Assert.NotNull(updateResponse);
            Assert.NotNull(updateResponse.Content);
            Assert.True(updateResponse.StatusCode == HttpStatusCode.OK);

            _logger.LogDebug($"Updated test tool with an id of: {theUpdatedTool.ToolId}");

            _host.Dispose();
        }
示例#12
0
        private int GetRandomUnusedIndex()
        {
            int index;

            do
            {
                index = RandomNumberHelper.GenerateRandomNumber(100);
            } while (indexOfUsedPermissions.Contains(index));

            return(index);
        }
示例#13
0
        //    /// <summary>
        //    /// 查看当前系统配置文件中的权限列表
        //    /// </summary>
        //    /// <returns>
        //    /// The <see cref="ActionResult"/>.
        //    /// </returns>
        //    public ActionResult GetFileResult()
        //    {
        //        return Json(ToolkitsHelper.InitAllFunc(), JsonRequestBehavior.AllowGet);
        //    }

        /// <summary>
        /// 获得图片验证码
        /// </summary>
        public void GetImgVerificationCode()
        {
            // 生成随机验证码图
            string vcode;
            var    basemap = RandomNumberHelper.GetValidateCodeMap(out vcode, 4);

            // 存储在tempdata并且返回图片格式
            this.TempData["vcode"] = vcode;
            basemap.Save(this.Response.OutputStream, ImageFormat.Gif);
            this.Response.End();
        }
示例#14
0
        public void RandomNumberHelperTests_RandomNumber()
        {
            var r = RandomNumberHelper.RandomNumber();

            Logger.Debug("random number: {0}", r);

            for (var i = 0; i <= 1000; i++)
            {
                r = RandomNumberHelper.RandomNumber();
            }
        }
示例#15
0
        public async void AddCategoryJobMaterialToolAndQueryTest()
        {
            var nextId = RandomNumberHelper.NextInteger();

            var parentCategory = new Category
            {
                CategoryId = nextId,
                Jobs       = new List <Job>()
            };

            var job = new Job {
                JobId = nextId, Name = "Test Job " + nextId
            };

            var material = new Material
            {
                MaterialId = nextId,
                Name       = "Test Material " + nextId,
                Tools      = new List <Tool> {
                    new Tool {
                        ToolId = nextId, Name = "Test Tool " + nextId
                    }
                }
            };

            job.Materials = new List <Material> {
                material
            };

            parentCategory.Jobs.Add(job);

            var helper = new TestContextHelper("test_in-memory_DB-" + RandomNumberHelper.NextInteger());

            using (var otherContext = new JobAssistantContext(helper.Options))
            {
                var repositoryUnderCreateTest = new Repository(otherContext);
                await repositoryUnderCreateTest.Create <Category>(parentCategory);

                await repositoryUnderCreateTest.SaveChanges();

                var repositoryUnderQueryTest = new Repository(otherContext);
                var myJob = repositoryUnderQueryTest.All <Category>().Include(c => c.Jobs).ThenInclude(m => m.Materials)
                            .ThenInclude(t => t.Tools).Single(c => c.CategoryId == nextId).Jobs.Single(j => j.JobId == nextId);
                Assert.Equal("Test Job " + nextId, myJob.Name);

                var associatedTool = material.Tools.First();
                Assert.NotNull(associatedTool);
                Assert.Equal(nextId, associatedTool.ToolId);

                repositoryUnderCreateTest.Dispose();
                repositoryUnderQueryTest.Dispose();
            }
        }
示例#16
0
        public TradeRelationshipTests()
        {
            /**
             * This constructor is executed prior to each [Fact]-based unit test method.
             * Considering this, a seperate NAMED in-memory DB is initialized.
             */
            var dbId = RandomNumberHelper.NextInteger();

            _helper = new TestContextHelper("test_in-memory_DB-" + dbId);
            var context = new JobAssistantContext(_helper.Options);

            SampleBoschToolsDataSet.SeedBoschToolTradesGraphData(context);
        }
示例#17
0
        public async void RepositoryCreateJobTest()
        {
            using (var context = new JobAssistantContext(_helper.Options))
            {
                var nextId = RandomNumberHelper.NextInteger();
                var repositoryUnderTest = new Repository(context);
                var myJob = new Job {
                    JobId = nextId, Name = "Job Name " + nextId
                };
                await repositoryUnderTest.Create(myJob);

                var verifyJob = repositoryUnderTest.Single <Job>(j => j.JobId == nextId);
                Assert.NotNull(verifyJob);
            }
        }
示例#18
0
        public List <string> SelectRandomPermissions()
        {
            PermissionAutoGenStore permissionStore = new PermissionAutoGenStore();
            int           numberOfPermissions      = RandomNumberHelper.GenerateRandomNumber(100);
            List <string> permissionList           = new List <string>();

            for (int a = 1; a <= numberOfPermissions; a++)
            {
                var index = GetRandomUnusedIndex();
                indexOfUsedPermissions.Add(index);
                var randomPermission = permissionStore.GetUserPermissionByIndex(index - 1);
                permissionList.Add(randomPermission);
            }

            return(permissionList);
        }
示例#19
0
        public ApplicationRelationshipTests()
        {
            /**
             * This constructor is executed prior to each [Fact]-based unit test method.
             * Considering this, a seperate NAMED in-memory DB is initialized.
             */
            var dbId = RandomNumberHelper.NextInteger();

            _helper  = new TestContextHelper("test_in-memory_DB-" + dbId);
            _context = new JobAssistantContext(_helper.Options);

            /**
             *  Add sample data with ToolsSampleData.SeedBoschToolsGraphData(_context);
             *  or using the subset with SeedBoschToolsSubsetData(_context).
             */
            SampleBoschToolsDataSet.SeedBoschToolsSubsetData(_context);
        }
        public async void RepositoryCreateTest()
        {
            using (var context = new JobAssistantContext(_helper.Options))
            {
                int nextId = RandomNumberHelper.NextInteger();
                var repositoryUnderTest = new Repository(context);

                var newCategory = repositoryUnderTest.Create <Category>(new Category {
                    CategoryId = nextId, Name = "Test Category " + nextId
                }).Result;
                Assert.Equal("Test Category " + nextId, context.Categories.Single(c => c.CategoryId == nextId).Name);
                await repositoryUnderTest.Delete <Category>(newCategory);

                var verifyJob = repositoryUnderTest.Single <Category>(c => c.CategoryId == nextId);
                Assert.Null(verifyJob);
            }
        }
        public async void CreateUpdateAndVerify()
        {
            var client = GetClient();

            var    postRequest  = RestSharpApiClientHelper.BuildBoschBlueRequest(Method.POST, "api/accessories/");
            string modelNumber  = "ACC" + RandomNumberHelper.NextInteger();
            var    theAccessory = new AccessoryModel {
                Name = "A Power Accessory", ModelNumber = modelNumber, TenantDomain = BoschTenants.BoschBlueDomain
            };

            postRequest.AddJsonBody(theAccessory);
            var postResponse = await client.Execute(postRequest);

            Assert.NotNull(postResponse);
            Assert.NotNull(postResponse.Content);
            Assert.True(postResponse.StatusCode == HttpStatusCode.Created);

            _logger.LogDebug($"Created test accessory for model id: {modelNumber}");

            var accessoryModelRequest =
                RestSharpApiClientHelper.BuildBoschBlueRequest(Method.GET, $"api/accessories/{modelNumber}");

            accessoryModelRequest.AddParameter("QueryBy", "ModelNumber", ParameterType.HttpHeader);
            var accessoryModelResponse = await client.Execute <AccessoryModel>(accessoryModelRequest);

            Assert.True(accessoryModelResponse.IsSuccess);

            _logger.LogDebug($"Retrieved test accessory with an id of: {accessoryModelResponse.Data.AccessoryId}");

            var updateRequest = RestSharpApiClientHelper.BuildBoschBlueRequest(Method.PUT,
                                                                               $"api/accessories/{accessoryModelResponse.Data.AccessoryId}");
            var theUpdatedAccessory = accessoryModelResponse.Data;

            theUpdatedAccessory.Name = "A Power Accessory (UPDATED)";
            updateRequest.AddJsonBody(theUpdatedAccessory);
            var updateResponse = await client.Execute(updateRequest);

            Assert.NotNull(updateResponse);
            Assert.NotNull(updateResponse.Content);
            Assert.True(updateResponse.StatusCode == HttpStatusCode.OK);

            _logger.LogDebug($"Updated test accessory with an id of: {theUpdatedAccessory.AccessoryId}");

            _host.Dispose();
        }
        public void VerifyDatabaseInsertOfNewTrade()
        {
            var helper    = new TestContextHelper("test_in-memory_DB-" + RandomNumberHelper.NextInteger());
            var context   = new JobAssistantContext(helper.Options);
            var autoTrade = new Trade {
                Name = "Automotive and Other Vehicle Maintenance"
            };

            Assert.True(autoTrade.TradeId == 0);
            context.Trades.Add(autoTrade);
            var efDefaultId = autoTrade.TradeId;

            Assert.True(efDefaultId > 0);
            var savedCount = context.SaveChanges();

            Assert.True(savedCount == 1);
            Assert.True(autoTrade.TradeId > 0);
        }
示例#23
0
        public void VerifyDatabaseInsertOfNewApplication()
        {
            var helper      = new TestContextHelper("test_in-memory_DB-" + RandomNumberHelper.NextInteger());
            var context     = new JobAssistantContext(helper.Options);
            var application = new Application {
                Name = "Level"
            };

            Assert.True(application.ApplicationId == 0);
            context.Applications.Add(application);
            var efDefaultId = application.ApplicationId;

            Assert.True(efDefaultId > 0);
            var savedCount = context.SaveChanges();

            Assert.True(savedCount == 1);
            Assert.True(application.ApplicationId > 0);
        }
示例#24
0
        public void AddAndUpdateMaterialsWithJobsDbSetQueryTest()
        {
            var nextId = RandomNumberHelper.NextInteger();

            var parentCategory = new Category();

            parentCategory.CategoryId = nextId;
            parentCategory.Name       = "Test Category " + nextId;
            parentCategory.Jobs       = new List <Job>();

            var job = new Job {
                JobId = nextId, Name = "Test Job " + nextId
            };

            var material = new Material {
                MaterialId = nextId, Name = "Test Material " + nextId
            };

            job.Materials = new List <Material>();
            job.Materials.Add(material);

            parentCategory.Jobs.Add(job);

            var helper = new TestContextHelper("test_in-memory_DB-" + RandomNumberHelper.NextInteger());

            using (var saveContext = new JobAssistantContext(helper.Options))
            {
                saveContext.Add(parentCategory);
                var entitiesPeristed = saveContext.SaveChanges();
                Assert.Equal(3, entitiesPeristed); // Expect 3 because a category, job and material are being persisted.
            }

            using (var queryContext = new JobAssistantContext(helper.Options))
            {
                var myJob = queryContext.Jobs.Include(j => j.Materials).Single(j => j.JobId == nextId);
                Assert.Equal("Test Job " + nextId, myJob.Name);
                Assert.True(myJob.Materials.Count == 1);
                var someMaterial = queryContext.Materials.Single(m => m.MaterialId == nextId);
                Assert.Equal("Test Material " + nextId, someMaterial.Name);
                var expectedCategoryName = "Test Category " + nextId;
                var topCategory          = queryContext.Categories.Single(c => c.CategoryId == nextId);
                Assert.Equal(expectedCategoryName, topCategory.Name);
            }
        }
        public void VerifyDatabaseInsertOfCategory()
        {
            var helper  = new TestContextHelper("test_in-memory_DB-" + RandomNumberHelper.NextInteger());
            var context = new JobAssistantContext(helper.Options);
            var dremelMultiPurposeCategory = new Category()
            {
                Name = "Multi-Purpose"
            };

            Assert.True(dremelMultiPurposeCategory.CategoryId == 0);
            context.Categories.Add(dremelMultiPurposeCategory);
            var efDefaultId = dremelMultiPurposeCategory.CategoryId; // Temporarily assigned by EF

            Assert.True(efDefaultId > 0);
            int savedCount = context.SaveChanges();

            Assert.True(savedCount == 1);
            Assert.True(dremelMultiPurposeCategory.CategoryId > 0); // New id is likely different than temporary id assigned above
        }
示例#26
0
        public string GetRandomNumericString(int length)
        {
            var ranString = new StringBuilder(length);

            string strRandomNumber = string.Empty;

            for (int i = 0; i < length; ++i)
            {
                int charIndex = RandomNumberHelper.Between(1, 9999);
                if (i > 1 && strRandomNumber.Length > length)
                {
                    break;
                }
                strRandomNumber = strRandomNumber + charIndex;
            }

            ranString.Append(strRandomNumber.Substring(0, length));

            return(ranString.ToString());
        }
示例#27
0
        /// <summary>
        /// Derange values
        /// </summary>
        /// <param name="useOriginalValue">whether to use original value to derange</param>
        public void Derange(bool useOriginalValue = false)
        {
            if (useOriginalValue)
            {
                valueArray = originalValues?.ToArray() ?? new T[0];
            }
            if (valueArray.IsNullOrEmpty())
            {
                return;
            }
            lastIndex = 0;
            var size = valueArray.Length;

            for (var i = size - 1; i >= 0; --i)
            {
                var nextIndex = RandomNumberHelper.GetRandomNumber(i);
                var nextValue = valueArray[nextIndex];
                valueArray[nextIndex] = valueArray[i];
                valueArray[i]         = nextValue;
            }
        }
示例#28
0
        public async void RepositoryUpdateJobTest()
        {
            using (var context = new JobAssistantContext(_helper.Options))
            {
                var repositoryUnderTest = new Repository(context);
                var nextId = RandomNumberHelper.NextInteger();
                var myJob  = new Job {
                    JobId = nextId, Name = "Job Name " + nextId
                };
                await repositoryUnderTest.Create(myJob);

                var jobName = "Updated Job Name " + nextId;
                myJob.Name = jobName;
                var updateCount = await repositoryUnderTest.Update(myJob);

                Assert.True(updateCount == 1);
                var verifyJob = repositoryUnderTest.Single <Job>(j => j.JobId == nextId);
                Assert.NotNull(verifyJob);
                Assert.Equal(jobName, verifyJob.Name);
            }
        }
示例#29
0
        public string GetRandomString(int length)
        {
            var ranString = new StringBuilder(length);

            for (int i = 0; i < length; ++i)
            {
                int charIndex;
                // allow only digits and letters
                do
                {
                    charIndex = RandomNumberHelper.Between(48, 123);
                } while (!((charIndex >= 48 && charIndex <= 57) ||
                           (charIndex >= 65 && charIndex <= 90) ||
                           (charIndex >= 97 && charIndex <= 122))
                         );

                // add the random char to the ranString being built
                ranString.Append(Convert.ToChar(charIndex));
            }
            return(ranString.ToString());
        }
        public async void RepositoryCreateTest()
        {
            using (var context = new JobAssistantContext(_helper.Options))
            {
                int nextId = RandomNumberHelper.NextInteger();
                var repositoryUnderTest = new Repository(context);

                var newTool = new Tool()
                {
                    ToolId      = nextId,
                    Name        = "RH850VC 1 - 7 / 8 In.SDS - max® Rotary Hammer",
                    ModelNumber = "RH850VC"
                };
                await repositoryUnderTest.Create(newTool);

                Assert.Equal("RH850VC 1 - 7 / 8 In.SDS - max® Rotary Hammer", context.Tools.Single(t => t.ToolId == nextId).Name);
                await repositoryUnderTest.Delete(newTool);

                var verifiedTool = repositoryUnderTest.Single <Tool>(c => c.ToolId == nextId);
                Assert.Null(verifiedTool);
            }
        }