15.02.2013 Aufrufe

b2aat6n

b2aat6n

b2aat6n

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!