Example #1
0
        private void GenerateReferenceDesignatorMappingTable(TestBench Testbench_obj)
        {
            using (var sw = new StreamWriter(Path.Combine(this.mainParameters.OutputDirectory, "reference_designator_mapping_table.html")))
            {
                // Get all nested assemblies using an interative approach.
                var assemblies = new List <ComponentAssembly>();
                assemblies.AddRange(Testbench_obj.ComponentAssemblies);
                for (int i = 0; i < assemblies.Count; i++)
                {
                    var assembly = assemblies[i];
                    assemblies.AddRange(assembly.ComponentAssemblyInstances);
                }

                // Get all instances from everywhere.
                var componentInstances = assemblies.SelectMany(a => a.ComponentInstances).ToList();
                componentInstances.AddRange(Testbench_obj.TestComponents);

                // Build mapping table
                List <XrefItem> xrefTable = new List <XrefItem>();
                foreach (var ci in componentInstances)
                {
                    String   path   = ci.Impl.Path;
                    String   refDes = ci.Name;
                    XrefItem row    = new XrefItem()
                    {
                        ReferenceDesignator = refDes, GmePath = path
                    };
                    xrefTable.Add(row);
                }

                // Convert it to HTML
                string html = Xref2Html.makeHtmlFile(
                    "",
                    xrefTable,
                    "");

                // Write mapping table to file
                sw.Write(html);
            }
        }
Example #2
0
        public void FakeXrefCreation()
        {
            string designName     = "Unit Test Fake Design";
            string OutputFileName = "xrefUnitTest.html";

            File.Delete(OutputFileName);
            Assert.False(File.Exists(OutputFileName));

            List <XrefItem> fakeTable = new List <XrefItem>()
            {
                { new XrefItem()
                  {
                      ReferenceDesignator = "R1", GmePath = @"path\To\R100-3"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "R2", GmePath = @"path\To\R100-2"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "R3", GmePath = @"path\To\R100-1"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "C1", GmePath = @"path\To\C9$1"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "C2", GmePath = @"path\To\C9-2"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "C3", GmePath = @"path\To\C9"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "T1", GmePath = @"apath\To\<b>TVS-1</b>"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "U1", GmePath = @"upath\To\74SN00-07"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "U2", GmePath = @"upath\To\74SN00-05"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "U3", GmePath = @"upath\To\74SN00-03"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "U4", GmePath = @"upath\To\74SN00-21"
                  } },
                { new XrefItem()
                  {
                      ReferenceDesignator = "U5", GmePath = @"upath\To\74SN00-18"
                  } },
            };

            string result = Xref2Html.makeHtmlFile(
                designName,
                fakeTable,
                OutputFileName);

            Assert.False(String.IsNullOrWhiteSpace(result));
            Assert.True(File.Exists(OutputFileName));
            int numLines = result.Split('\n').Length;

            Assert.InRange(numLines, 40, 60);
            Console.WriteLine("Output contains {0} lines:", numLines);
            Console.WriteLine("{0}", result);
        }