Files
document-haness/docs/ca-tmpl/final/assets/test-contrast.svg
T

57 lines
7.8 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1420" height="650" viewBox="0 0 1420 650" role="img" aria-labelledby="title desc">
<title id="title">Layered and port-based test contrast</title>
<desc id="desc">An illustrative framework-collaborator replacement is contrasted with the observed anonymous TransactionPort test double pattern.</desc>
<metadata>{&quot;generator&quot;:&quot;_work/regenerate-technical-assets.py&quot;,&quot;canvas_policy&quot;:&quot;diagram-only&quot;,&quot;decorative_effects&quot;:false}</metadata>
<defs>
<marker id="arrow-ink" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#25282D"/></marker>
<marker id="arrow-muted" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#667085"/></marker>
<marker id="arrow-blue" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#1677FF"/></marker>
<marker id="arrow-purple" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#7556D8"/></marker>
<marker id="arrow-green" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#168A5B"/></marker>
<marker id="arrow-red" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#D64550"/></marker>
<marker id="arrow-amber" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="strokeWidth"><path d="M 0 0 L 10 4 L 0 8 z" fill="#B7791F"/></marker>
</defs>
<rect width="1420" height="650" fill="#FFFFFF"/>
<rect x="45" y="55" width="635" height="505" fill="#FBFCFE" stroke="#AEB5BF" stroke-width="1.3" rx="10" />
<rect x="54" y="44" width="75.3" height="20" fill="#FFFFFF" rx="2" />
<text x="61" y="60" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="11" font-weight="650" fill="#667085" text-anchor="start">설명용 대조</text>
<rect x="100" y="130" width="230" height="85" fill="#FFFFFF" stroke="#59616B" stroke-width="1.5" rx="8" />
<text x="215" y="177.5" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="16" font-weight="700" fill="#25282D" text-anchor="middle">Layered service test</text>
<rect x="405" y="110" width="220" height="70" fill="#FDEDEF" stroke="#D64550" stroke-width="1.5" rx="8" />
<text x="515" y="150" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="13" font-weight="700" fill="#25282D" text-anchor="middle">Spring context</text>
<rect x="405" y="225" width="220" height="70" fill="#FDEDEF" stroke="#D64550" stroke-width="1.5" rx="8" />
<text x="515" y="265" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="13" font-weight="700" fill="#25282D" text-anchor="middle">Mockito collaborator</text>
<path d="M 330 165 L 405 145" fill="none" stroke="#D64550" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-red)" />
<rect x="335.4" y="130" width="64.3" height="20" fill="#FFFFFF" rx="2" />
<text x="367.5" y="146" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="11" font-weight="650" fill="#D64550" text-anchor="middle">직접 대체</text>
<path d="M 330 185 L 405 260" fill="none" stroke="#D64550" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-red)" />
<rect x="335.4" y="197.5" width="64.3" height="20" fill="#FFFFFF" rx="2" />
<text x="367.5" y="213.5" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="11" font-weight="650" fill="#D64550" text-anchor="middle">직접 대체</text>
<text x="362" y="365" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="13" font-weight="650" fill="#667085" text-anchor="middle">컨텍스트·Mockito는 결합도 설명용 예시</text>
<rect x="195" y="430" width="195.4" height="30" fill="#F6F7F9" stroke="#AEB5BF" stroke-width="1.2" rx="15" />
<text x="292.7" y="450" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="12" font-weight="700" fill="#667085" text-anchor="middle">저장소의 대칭 측정 결과 아님</text>
<rect x="740" y="55" width="635" height="505" fill="#FBFCFE" stroke="#1677FF" stroke-width="1.3" rx="10" />
<rect x="749" y="44" width="136.5" height="20" fill="#FFFFFF" rx="2" />
<text x="756" y="60" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="11" font-weight="650" fill="#0B5CC4" text-anchor="start">저장소에서 관찰된 패턴</text>
<rect x="795" y="145" width="245" height="95" fill="#EAF3FF" stroke="#1677FF" stroke-width="1.5" rx="8" />
<text x="917.5" y="186.5" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="16" font-weight="700" fill="#25282D" text-anchor="middle">포트 유스케이스 테스트</text>
<text x="917.5" y="211.5" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="12" font-weight="450" fill="#667085" text-anchor="middle">core-owned seam</text>
<circle cx="1105" cy="192" r="10" fill="#FFFFFF" stroke="#1677FF" stroke-width="2" />
<text x="1105" y="165" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="11" font-weight="700" fill="#0B5CC4" text-anchor="middle">port</text>
<polygon points="1160,125 1296,125 1330,159 1330,260 1160,260" fill="#FFFFFF" stroke="#1677FF" stroke-width="1.7" />
<path d="M 1296 125 L 1296 159 L 1330 159" fill="none" stroke="#1677FF" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" />
<text x="1178" y="161" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="15" font-weight="700" fill="#0B5CC4" text-anchor="start">TransactionPort</text>
<text x="1178" y="190" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="12" font-weight="500" fill="#667085" text-anchor="start">
<tspan x="1178" dy="0">익명 테스트 더블</tspan>
</text>
<path d="M 1040 192 L 1095 192" fill="none" stroke="#1677FF" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arrow-blue)" />
<rect x="1048.0" y="167" width="39.1" height="20" fill="#FFFFFF" rx="2" />
<text x="1067.5" y="183" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="11" font-weight="650" fill="#1677FF" text-anchor="middle">uses</text>
<path d="M 1115 192 L 1160 192" fill="none" stroke="#7556D8" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6 5" marker-end="url(#arrow-purple)" />
<rect x="1099.2" y="167" width="76.7" height="20" fill="#FFFFFF" rx="2" />
<text x="1137.5" y="183" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="11" font-weight="650" fill="#7556D8" text-anchor="middle">implements</text>
<text x="1057" y="365" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="14" font-weight="700" fill="#0B5CC4" text-anchor="middle">프레임워크 대신 코어가 소유한 계약을 대체</text>
<rect x="905" y="430" width="152.5" height="30" fill="#EAF7F1" stroke="#168A5B" stroke-width="1.2" rx="15" />
<text x="981.3" y="450" font-family='&quot;Noto Sans CJK KR&quot;, &quot;Apple SD Gothic Neo&quot;, sans-serif' font-size="12" font-weight="700" fill="#168A5B" text-anchor="middle">실제 테스트 더블 패턴</text>
</svg>