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); }
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); }