b2aat6n
b2aat6n
b2aat6n
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Im Beispiel ist LowScaled die Dependency-Property,<br />
welche den skalierten Wert für<br />
das untere Quartil enthält. Für die Dependency-Properties<br />
wird jeweils ein statisches<br />
Feld definiert, welches die Dependency-Property<br />
beschreibt, siehe Listing 1.<br />
Zusätzlich sind normale C#-Eigenschaften<br />
definiert, um in der üblichen Art und<br />
Weise auf die Eigenschaften zugreifen zu<br />
können, siehe Listing 2. Der Umweg über<br />
die Dependency-Properties ist erforderlich,<br />
damit die Visualisierung jeweils aktualisiert<br />
wird, wenn sich an den zugrunde liegenden<br />
Werten etwas ändert.<br />
Die Skalierung der Größen erfolgt in den<br />
Settern der jeweiligen zugehörigen nichtskalierten<br />
Größe. Dort wird sowohl der zu<br />
setzende Originalwert als auch der berechnete<br />
skalierte Wert in die jeweiligen<br />
Dependency-Properties übertragen, wie in<br />
Listing 3 zu sehen.<br />
Auf diese Weise wird beim Setzen der<br />
Low-Eigenschaft auch die LowScaled-Eigenschaft<br />
gesetzt. Das Skalieren übernimmt<br />
die in Listing 4 gezeigte Methode. Um die<br />
korrekte Visualisierung des Controls prüfen<br />
zu können, bleibt nichts anderes übrig,<br />
codekicker.de<br />
Listing 6<br />
Gerade und ungerade Anzahl von Werten testen.<br />
[TestMethod]<br />
public void Drei_unsortierte_Werte() {<br />
Assert.AreEqual(2.0, Zahlenreihe.Median(new[] {2.0, 3.0, 1.0}));<br />
}<br />
[TestMethod]<br />
public void Vier_unsortierte_Werte() {<br />
Assert.AreEqual(2.5, Zahlenreihe.Median(new[] {3.0, 1.0, 4.0, 2.0}));<br />
}<br />
Listing 7<br />
Das Minimum über LINQ ermitteln.<br />
[TestMethod]<br />
public void Minimum() {<br />
Assert.AreEqual(1, new[]{5.0, 1.0, 2.0}.Min());<br />
}<br />
als einen kleinen Testrahmen zu erstellen,<br />
in dem das Control angezeigt wird. Das bedeutet<br />
allerdings nicht, dass in solchen<br />
Tests nichts zu automatisieren wäre. Der<br />
LÖSUNG<br />
Testrahmen kann immerhin dazu verwendet<br />
werden, Beispieldaten automatisiert<br />
zum Control zu übertragen. So entfällt die<br />
manuelle Interaktion mit dem Control zum<br />
Die deutschsprachige Q&A-Plattform<br />
für Software-Entwickler<br />
codekicker.de – Antworten für Entwickler