This shows you the differences between two versions of the page.
Next revision | Previous revision Last revision Both sides next revision | ||
pcb:pcb_tests [2019/01/01 11:08] cparker created |
pcb:pcb_tests [2019/01/01 12:59] cparker [To Do List] |
||
---|---|---|---|
Line 1: | Line 1: | ||
pcb has two testing frameworks: | pcb has two testing frameworks: | ||
- | * [[pcb:unit_tests | Unit Tests]] \\ The first uses the [[https://developer.gnome.org/glib/stable/glib-Testing.html| glib testing framework]] to execute function and object low-level tests of the code directly. | + | * [[pcb:unit_tests | Unit Tests]] \\ The first uses the [[https://developer.gnome.org/glib/stable/glib-Testing.html| glib testing framework]] to execute function and object low-level tests of the code directly. These tests are generally contained by the files defining the code to be tested. |
- | * Application tests \\ The second uses the meager scriptability of pcb to test functions at a higher level. | + | * Application tests \\ The second uses the meager scriptability of pcb to test functions at a higher level. These tests are contained in the tests/ directory of the source tree, and are run using the run_tests.sh script. |
+ | |||
+ | ====To Do List==== | ||
+ | ===Geometry Tests=== | ||
+ | All of the geometry functions need tests. | ||
+ | I've been trying to compile a list of functions that need tests. Many of these are indirectly tested through the [[pcb:drc| DRC tests]], but that isn't really as thorough as it ought to be. | ||
+ | * search.c | ||
+ | * IsPointOnLine | ||
+ | * IsPointOnPin | ||
+ | * IsPointOnArc | ||
+ | * IsPointOnLineEnd | ||
+ | * IsLineInRectangle | ||
+ | * IsLineInQuadrangle | ||
+ | * IsArcInRectangle | ||
+ | * IsPointInPad | ||
+ | * IsPointInBox | ||
+ | * find.c | ||
+ | * LineLineIntersect | ||
+ | * LineArcIntersect | ||
+ | * PinLineIntersect | ||
+ | * LinePadIntersect | ||
+ | * ArcPadIntersect | ||
+ | * ArcArcIntersect | ||
+ | * IsRatPointOnLineEnd | ||
+ | * IsArcInPolygon | ||
+ | * IsLineInPolygon | ||
+ | * IsPadInPolygon | ||
+ | * IsPolygonInPolygon | ||
+ | * polygon.c | ||
+ | * IsPointInPolygon | ||
+ | * IsPointInPolygonIgnoreHoles | ||
+ | * IsRectangleInPolygon |