public static void LoadSampleData(this JobAssistantContext dbContext)
 {
     SampleBoschGreenToolsDataSet.SeedBoschDiyGreenToolsGraphData(dbContext);
     ;           SampleDremelToolsDataSet.SeedDremelGraphData(dbContext);
     SampleBoschToolsDataSet.SeedBoschToolTradesGraphData(dbContext);
     SampleBoschToolsDataSet.SeedBoschToolsGraphData(dbContext);
 }
Пример #2
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);
        }
Пример #3
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 void TraversalOfJobsMaterialsApplicationsThenTools()
        {
            using (var context = new JobAssistantContext(_helper.Options))
            {
                SampleBoschToolsDataSet.SeedBoschToolsSubsetData(context);

                var repositoryUnderTest = new Repository(context);
                // PC: forward load all objects, OR, investigate if you can load per-level (and more on de-mand)
                var jobs = repositoryUnderTest.All <Job>().Include(j => j.Materials).ThenInclude(m => m.Applications)
                           .ThenInclude(a => a.ToolRelationships);
                Assert.NotNull(jobs);
                Assert.NotEmpty(jobs);

                var jobEnumerator = jobs.GetEnumerator();
                jobEnumerator.MoveNext();
                var firstjob = jobEnumerator.Current;
                Assert.NotNull(firstjob);

                // PC: Pick a material, then get a list of applications
                Debug.Assert(firstjob.Materials != null, "firstjob.Materials != null");
                var materialEnumerator = firstjob.Materials.GetEnumerator();
                materialEnumerator.MoveNext();
                var firstMaterial = materialEnumerator.Current;
                Assert.NotNull(firstMaterial);
                materialEnumerator.Dispose();

                // PC: Pick an Application, then get a list of tools
                var applicationEnumerator = firstMaterial.Applications.GetEnumerator();
                applicationEnumerator.MoveNext();
                var firstApplication = applicationEnumerator.Current;
                Assert.NotNull(firstApplication);
                applicationEnumerator.Dispose();

                // PC: Read the tool details, then assert
                var toolsEnumerator = firstApplication.ToolRelationships.GetEnumerator();
                toolsEnumerator.MoveNext();
                var firstTool = toolsEnumerator.Current;
                Assert.NotNull(firstTool);
                toolsEnumerator.Dispose();
            }
        }