mirror of https://codeberg.org/topola/topola.git
tests: fix single-layer THT diode bridge rectifier test
This commit is contained in:
parent
5eeeb5a004
commit
352a96f895
|
|
@ -2,29 +2,68 @@
|
||||||
"done": [
|
"done": [
|
||||||
{
|
{
|
||||||
"Autoroute": {
|
"Autoroute": {
|
||||||
"pins": [
|
"selectors": [
|
||||||
"J2-2",
|
{
|
||||||
"J2-1",
|
"pin": "J2-2",
|
||||||
"D3-2",
|
"layer": "F.Cu"
|
||||||
"D2-1",
|
},
|
||||||
"D3-1",
|
{
|
||||||
"D1-1",
|
"pin": "J2-1",
|
||||||
"J1-1",
|
"layer": "F.Cu"
|
||||||
"D2-2",
|
},
|
||||||
"D1-2",
|
{
|
||||||
"D4-1",
|
"pin": "D3-2",
|
||||||
"J1-2"
|
"layer": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pin": "D2-1",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pin": "D3-1",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pin": "D1-1",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pin": "J1-1",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pin": "D2-2",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pin": "D1-2",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pin": "D4-1",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pin": "J1-2",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Autoroute": {
|
"Autoroute": {
|
||||||
"pins": [
|
"selectors": [
|
||||||
"D4-2",
|
{
|
||||||
"J2-2"
|
"pin": "D4-2",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pin": "J2-2",
|
||||||
|
"layer": "F.Cu"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"undone": []
|
"undone": []
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,15 +42,18 @@ fn test() {
|
||||||
.node_bound(),
|
.node_bound(),
|
||||||
);
|
);
|
||||||
|
|
||||||
for edge in autorouter
|
for primitive in autorouter.board().layout().drawing().primitive_nodes() {
|
||||||
.board()
|
dbg!(primitive);
|
||||||
.layout()
|
for joined in autorouter
|
||||||
.drawing()
|
.board()
|
||||||
.geometry()
|
.layout()
|
||||||
.graph()
|
.drawing()
|
||||||
.edge_references()
|
.geometry()
|
||||||
{
|
.joineds(primitive)
|
||||||
unionfind.union(edge.source(), edge.target());
|
{
|
||||||
|
dbg!(joined);
|
||||||
|
unionfind.union(primitive.node_index(), joined.node_index());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for ratline in autorouter.ratsnest().graph().edge_indices() {
|
for ratline in autorouter.ratsnest().graph().edge_indices() {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,10 @@ use petgraph::{
|
||||||
};
|
};
|
||||||
use topola::{
|
use topola::{
|
||||||
autorouter::{invoker::Invoker, Autorouter},
|
autorouter::{invoker::Invoker, Autorouter},
|
||||||
drawing::graph::GetMaybeNet,
|
drawing::{
|
||||||
|
graph::{GetLayer, GetMaybeNet},
|
||||||
|
primitive::GetInnerOuter,
|
||||||
|
},
|
||||||
dsn::design::DsnDesign,
|
dsn::design::DsnDesign,
|
||||||
graph::GetNodeIndex,
|
graph::GetNodeIndex,
|
||||||
triangulation::GetTrianvertexIndex,
|
triangulation::GetTrianvertexIndex,
|
||||||
|
|
@ -42,19 +45,48 @@ fn test() {
|
||||||
.node_bound(),
|
.node_bound(),
|
||||||
);
|
);
|
||||||
|
|
||||||
for edge in autorouter
|
for primitive in autorouter.board().layout().drawing().primitive_nodes() {
|
||||||
.board()
|
dbg!(primitive);
|
||||||
.layout()
|
for joined in autorouter
|
||||||
.drawing()
|
.board()
|
||||||
.geometry()
|
.layout()
|
||||||
.graph()
|
.drawing()
|
||||||
.edge_references()
|
.geometry()
|
||||||
{
|
.joineds(primitive)
|
||||||
unionfind.union(edge.source(), edge.target());
|
{
|
||||||
|
dbg!(joined);
|
||||||
|
unionfind.union(primitive.node_index(), joined.node_index());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for ratline in autorouter.ratsnest().graph().edge_indices() {
|
for ratline in autorouter.ratsnest().graph().edge_indices() {
|
||||||
let (source_dot, target_dot) = autorouter.ratline_endpoints(ratline);
|
let (source_dot, target_dot) = autorouter.ratline_endpoints(ratline);
|
||||||
|
|
||||||
|
let source_layer = autorouter
|
||||||
|
.board()
|
||||||
|
.layout()
|
||||||
|
.drawing()
|
||||||
|
.primitive(source_dot)
|
||||||
|
.layer();
|
||||||
|
let target_layer = autorouter
|
||||||
|
.board()
|
||||||
|
.layout()
|
||||||
|
.drawing()
|
||||||
|
.primitive(target_dot)
|
||||||
|
.layer();
|
||||||
|
|
||||||
|
let Some(source_layername) = autorouter.board().layername(source_layer) else {
|
||||||
|
continue;
|
||||||
|
};
|
||||||
|
|
||||||
|
let Some(target_layername) = autorouter.board().layername(target_layer) else {
|
||||||
|
continue;
|
||||||
|
};
|
||||||
|
|
||||||
|
if source_layername != "F.Cu" || target_layername != "F.Cu" {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
let source_net = autorouter
|
let source_net = autorouter
|
||||||
.board()
|
.board()
|
||||||
.layout()
|
.layout()
|
||||||
|
|
@ -73,6 +105,7 @@ fn test() {
|
||||||
|
|
||||||
if let Some(netname) = autorouter.board().netname(net) {
|
if let Some(netname) = autorouter.board().netname(net) {
|
||||||
dbg!(netname);
|
dbg!(netname);
|
||||||
|
dbg!(source_dot, target_dot);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
unionfind.find(source_dot.node_index()),
|
unionfind.find(source_dot.node_index()),
|
||||||
unionfind.find(target_dot.node_index())
|
unionfind.find(target_dot.node_index())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue