KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_drc_length_item_order.cpp File Reference

A net's length must not depend on the order its items are handed to the calculation. More...

#include <qa_utils/wx_utils/unit_test_utils.h>
#include <board.h>
#include <base_units.h>
#include <netinfo.h>
#include <pcb_track.h>
#include <length_delay_calculation/length_delay_calculation.h>
#include <length_delay_calculation/length_delay_calculation_item.h>
#include <algorithm>
#include <numeric>
#include <set>

Go to the source code of this file.

Functions

static VECTOR2I mmPoint (double aX, double aY)
 
static void addTrack (BOARD &aBoard, int aNetCode, PCB_LAYER_ID aLayer, const VECTOR2I &aStart, const VECTOR2I &aEnd)
 
static void buildViaTransition (BOARD &aBoard, int aNetCode)
 
 BOOST_AUTO_TEST_CASE (LengthIsIndependentOfItemOrder)
 

Detailed Description

A net's length must not depend on the order its items are handed to the calculation.

DRC collects them in pointer order, so an editing session changed the answer and the skew error came and went on an untouched board.

Definition in file test_drc_length_item_order.cpp.

Function Documentation

◆ addTrack()

◆ BOOST_AUTO_TEST_CASE()

◆ buildViaTransition()

static void buildViaTransition ( BOARD & aBoard,
int aNetCode )
static

Definition at line 66 of file test_drc_length_item_order.cpp.

References BOARD::Add(), addTrack(), B_Cu, F_Cu, mmPoint(), pcbIUScale, and via.

Referenced by BOOST_AUTO_TEST_CASE().

◆ mmPoint()

static VECTOR2I mmPoint ( double aX,
double aY )
static

Definition at line 45 of file test_drc_length_item_order.cpp.

References mmPoint(), and pcbIUScale.

Referenced by buildShapes(), buildViaTransition(), and mmPoint().