\input regression-test.tex
\documentclass{article}
\usepackage{tikzphysics}
\newdimen\actual
\newdimen\error
\newcommand{\assertcoord}[5]{%
 \pgfextractx{\actual}{\pgfpointanchor{#1}{#2}}\error=\actual\advance\error by-#3\relax
 \ifdim\error<0pt\error=-\error\fi
 \ifdim\error<.04pt\TYPE{PASS: #5 x}\else\TYPE{FAIL: #5 x got \the\actual}\fi
 \pgfextracty{\actual}{\pgfpointanchor{#1}{#2}}\error=\actual\advance\error by-#4\relax
 \ifdim\error<0pt\error=-\error\fi
 \ifdim\error<.04pt\TYPE{PASS: #5 y}\else\TYPE{FAIL: #5 y got \the\actual}\fi}

\newdimen\expectedx
\newdimen\expectedy
\newcommand{\sameanchor}[4]{%
 \pgfextractx{\expectedx}{\pgfpointanchor{#1}{#3}}%
 \pgfextracty{\expectedy}{\pgfpointanchor{#1}{#3}}%
 \assertcoord{#1}{#2}{\expectedx}{\expectedy}{#4}}
\begin{document}\START\setbox0=\hbox{\begin{tikzpicture}
\node[conduction slab] (N0) {};
\foreach \p in {0,...,100}{\pgfpointanchor{N0}{bottom-\p}}
\TYPE{PASS: conduction slab bottom all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N0}{right-\p}}
\TYPE{PASS: conduction slab right all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N0}{top-\p}}
\TYPE{PASS: conduction slab top all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N0}{left-\p}}
\TYPE{PASS: conduction slab left all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N0}{axis-\p}}
\TYPE{PASS: conduction slab axis all integer percentages}
\node[composite wall] (N1) {};
\foreach \p in {0,...,100}{\pgfpointanchor{N1}{bottom-\p}}
\TYPE{PASS: composite wall bottom all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N1}{right-\p}}
\TYPE{PASS: composite wall right all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N1}{top-\p}}
\TYPE{PASS: composite wall top all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N1}{left-\p}}
\TYPE{PASS: composite wall left all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N1}{axis-\p}}
\TYPE{PASS: composite wall axis all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N1}{interface-\p}}
\TYPE{PASS: composite wall interface all integer percentages}
\node[convection surface] (N2) {};
\foreach \p in {0,...,100}{\pgfpointanchor{N2}{surface-\p}}
\TYPE{PASS: convection surface surface all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N2}{bottom-\p}}
\TYPE{PASS: convection surface bottom all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N2}{right-\p}}
\TYPE{PASS: convection surface right all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N2}{left-\p}}
\TYPE{PASS: convection surface left all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N2}{flow-\p}}
\TYPE{PASS: convection surface flow all integer percentages}
\node[cooling fin] (N3) {};
\foreach \p in {0,...,100}{\pgfpointanchor{N3}{base-\p}}
\TYPE{PASS: cooling fin base all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N3}{axis-\p}}
\TYPE{PASS: cooling fin axis all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N3}{fin-bottom-\p}}
\TYPE{PASS: cooling fin fin-bottom all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N3}{fin-tip-\p}}
\TYPE{PASS: cooling fin fin-tip all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N3}{fin-top-\p}}
\TYPE{PASS: cooling fin fin-top all integer percentages}
\node[radiating body] (N4) {};
\foreach \p in {0,...,100}{\pgfpointanchor{N4}{rim-\p}}
\TYPE{PASS: radiating body rim all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N4}{ray-\p}}
\TYPE{PASS: radiating body ray all integer percentages}
\node[thermometer] (N5) {};
\foreach \p in {0,...,100}{\pgfpointanchor{N5}{scale-\p}}
\TYPE{PASS: thermometer scale all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N5}{column-\p}}
\TYPE{PASS: thermometer column all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N5}{bulb-\p}}
\TYPE{PASS: thermometer bulb all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N5}{stem-right-\p}}
\TYPE{PASS: thermometer stem-right all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N5}{cap-\p}}
\TYPE{PASS: thermometer cap all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N5}{stem-left-\p}}
\TYPE{PASS: thermometer stem-left all integer percentages}
\node[calorimeter] (N6) {};
\foreach \p in {0,...,100}{\pgfpointanchor{N6}{bottom-\p}}
\TYPE{PASS: calorimeter bottom all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N6}{right-\p}}
\TYPE{PASS: calorimeter right all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N6}{top-\p}}
\TYPE{PASS: calorimeter top all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N6}{left-\p}}
\TYPE{PASS: calorimeter left all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N6}{lid-\p}}
\TYPE{PASS: calorimeter lid all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N6}{surface-\p}}
\TYPE{PASS: calorimeter surface all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N6}{inner-bottom-\p}}
\TYPE{PASS: calorimeter inner-bottom all integer percentages}
\node[expansion rod] (N7) {};
\foreach \p in {0,...,100}{\pgfpointanchor{N7}{original-\p}}
\TYPE{PASS: expansion rod original all integer percentages}
\foreach \p in {0,...,100}{\pgfpointanchor{N7}{expanded-\p}}
\TYPE{PASS: expansion rod expanded all integer percentages}
\assertcoord{N0}{axis-25}{-0.750000000cm}{0.000000000cm}{N0 axis-25}
\assertcoord{N0}{bottom-0}{-1.500000000cm}{-1.000000000cm}{N0 bottom-0}
\assertcoord{N0}{top-0}{1.500000000cm}{1.000000000cm}{N0 top-0}
\assertcoord{N1}{interface-50}{-0.150000000cm}{0.000000000cm}{N1 interface-50}
\assertcoord{N1}{layer-1-center}{-0.825000000cm}{0.000000000cm}{N1 layer-1-center}
\assertcoord{N1}{layer-2-center}{0.675000000cm}{0.000000000cm}{N1 layer-2-center}
\assertcoord{N2}{surface-0}{-1.800000000cm}{-0.475000000cm}{N2 surface-0}
\assertcoord{N2}{flow-25}{0.000000000cm}{-0.175000000cm}{N2 flow-25}
\assertcoord{N2}{right-50}{1.800000000cm}{-0.600000000cm}{N2 right-50}
\assertcoord{N3}{root}{-1.250000000cm}{0.000000000cm}{N3 root}
\assertcoord{N3}{axis-50}{0.125000000cm}{0.000000000cm}{N3 axis-50}
\assertcoord{N3}{fin-top-50}{0.125000000cm}{0.090000000cm}{N3 fin-top-50}
\assertcoord{N4}{rim-25}{0.000000000cm}{0.650000000cm}{N4 rim-25}
\assertcoord{N4}{ray-50}{1.050000000cm}{0.000000000cm}{N4 ray-50}
\assertcoord{N5}{liquid-top}{0.000000000cm}{0.522000000cm}{N5 liquid-top}
\assertcoord{N5}{scale-50}{0.000000000cm}{0.275000000cm}{N5 scale-50}
\assertcoord{N5}{bulb-50}{0.000000000cm}{-1.600000000cm}{N5 bulb-50}
\assertcoord{N5}{bulb-0}{-0.090000000cm}{-0.972916949cm}{N5 bulb-0}
\assertcoord{N5}{bulb-100}{0.090000000cm}{-0.972916949cm}{N5 bulb-100}
\assertcoord{N6}{surface-50}{0.000000000cm}{0.105000000cm}{N6 surface-50}
\assertcoord{N6}{liquid-center}{0.000000000cm}{-0.472500000cm}{N6 liquid-center}
\assertcoord{N7}{original-end}{1.350000000cm}{-0.325000000cm}{N7 original-end}
\assertcoord{N7}{expanded-end}{1.650000000cm}{0.325000000cm}{N7 expanded-end}
\node[convection surface,thermal flow direction=-1] (Cool) {};\node[radiating body,thermal flow direction=-1] (Absorb) {};
\assertcoord{Cool}{flow-25}{0.000000000cm}{0.425000000cm}{Cool flow-25}
\assertcoord{Absorb}{ray-25}{1.250000000cm}{0.000000000cm}{Absorb ray-25}
\node[composite wall,composite split=.25,composite width=40mm,composite height=20mm,rotate=90,scale=2] (Rot) at (5,5) {};
\assertcoord{Rot}{interface-25}{6.000000000cm}{3.000000000cm}{Rot interface-25}
\node[expansion rod,thermal expansion ratio=.8] (Contract) {};
\assertcoord{Contract}{expanded-100}{0.900000000cm}{0.325000000cm}{Contract expanded-100}
\node[thermometer,thermometer level=0] (Zero) {};\node[thermometer,thermometer level=1] (Full) {};
\assertcoord{Zero}{liquid-top}{0.000000000cm}{-0.960000000cm}{Zero liquid-top}
\assertcoord{Full}{liquid-top}{0.000000000cm}{1.510000000cm}{Full liquid-top}
\node[convection surface,thermal plate width=8cm,thermal flow direction=-1] (Later) {};\node[thermometer,fill=white,thermometer level=1,thermal liquid color=blue,draw=red] (Colored) {};
\assertcoord{N2}{flow-25}{0.000000000cm}{-0.175000000cm}{N2 flow-25}
\assertcoord{N5}{liquid-top}{0.000000000cm}{0.522000000cm}{N5 liquid-top}
\end{tikzpicture}}\END\end{document}