コード例 #1
0
        public void GetHoles_WorksWell_WithProperBitmap()
        {
            IBitmapAccessor accessor = new MockupBitmapAccessor(
                new string[] {
                //   012345678
                "XXXXXXXXXXX",
                "X         X",
                "X XX  XX  X",
                "X XX  XX  X",
                "X         X",
                "X    XX   X",
                "X    XX   X",
                "X         X",
                "XXXXXXXXXXX",
            });

            BitmapScanner dut = new BitmapScanner(accessor);

            dut.PrepareAll();

            DrillScanner scanner = new DrillScanner(dut);

            var holes = scanner.GetHoles();

            Assert.AreEqual(3, holes.Count);
            Assert.AreEqual(2.5, holes[0].X);
            Assert.AreEqual(2.5, holes[0].Y);
            Assert.AreEqual(6.5, holes[1].X);
            Assert.AreEqual(2.5, holes[1].Y);
            Assert.AreEqual(5.5, holes[2].X);
            Assert.AreEqual(5.5, holes[2].Y);
        }
コード例 #2
0
        private void CheckConnection(string[] expected)
        {
            BitmapScanner topLayer = new BitmapScanner(this.top);

            topLayer.PrepareAll();

            BitmapScanner bottomLayer = new BitmapScanner(this.bottom);

            bottomLayer.PrepareAll();

            BitmapScanner drillLayer = new BitmapScanner(this.drill);

            drillLayer.PrepareAll();

            DrillScanner drillScanner = new DrillScanner(drillLayer);

            DrillConnector drillConnector = new DrillConnector(topLayer, bottomLayer, drillScanner);

            drillConnector.ComputeGlobalNet();

            var nets     = drillConnector.GetNets();
            int netCount = 0;

            foreach (int key in nets)
            {
                Console.WriteLine($"KEY: {key}");
                StringBuilder sb = new StringBuilder();
                foreach (var layerNet in drillConnector.GetLayerNetsOfNet(key))
                {
                    if (sb.Length > 0)
                    {
                        sb.Append(',');
                    }
                    sb.Append(layerNet.ToString());
                }
                Console.WriteLine($"  {sb}");
                Assert.AreEqual(expected[netCount], sb.ToString());
                netCount++;
            }
            Assert.AreEqual(expected.Length, netCount);
        }