Bei allen Parametern, die nicht in den Äquivalenzklassen hinterlegt sind (also alle Typen, die keine simplen Datentypen sind), verfährt CrashTest.Net wie folgt:

Enumerationen

CrashTest.Net ermittelt alle Werte aus der Enumeration und nutzt sie als Testwerte. Zusätzlich benutzt es zwei Werte, die nicht in der Enumeration hinterlegt sind.

Arrays

Bei Arrays werden folgende Werte übergeben
  • „null“
  • Eine neue Instanz eines Array-Objektes diesen Typs mit 0 Elementen
  • Eine neue Instanz eines Array-Objektes diesen Typs mit einem Element, welches null ist
  • Sollte der Typ des Arrays ein simpler Datentyp sein, so wird eine neue Instanz dieses Array-Objektes erstellt und alle Werte aus der Äquivalenzklasse dieses Typs übergeben. Z.b. ein Array vom Typ „String“ beinhaltet dann alle Elemente aus dieser Äquivalenzklasse.

Type

Der Typ „Type“ wird gesondert berücksichtigt. Es werden folgende Werte übergeben:
  • typeof(int)
  • typeof(string)
  • typeof(System.Exception)

Interfaces und abstrakte Klassen

In der Assembly, wo sich dieser Parametertyp befindet, werden alle Objekte, die instantzierbar sind, untersucht. Es wird geprüft, ob sich dieses Objekt von dem gewünschten Interface bzw. der abstrakten Klasse ableiten lässt. Wenn dies der Fall ist, so wäre eine Instanz dieses Objektes ein gültiger Paramterwert.
Wird ein solcher Typ gefunden, versucht CrashTest.Net eine neue Instanz zu erzeugen und nutzt diese als Parameterwert. Bei generischen Typen (z.B. „IList<>“) wird entsprechend des Typs eine neue generische Instanz aller möglichen Typen erstellt.
Beispielsweise wenn der Parameter „IList“ ist, so wird als ein möglicher Parameterwert List ermittelt. Weiterhin wird auch „null“ übergeben.
Sollte keine dieser Fälle eintreten, so wird direkt versucht eine neue Instanz des Parametertyps zu erstellen. „null“ wird ebenfalls wieder benutzt. Sprich hier wird einmal null und new übergeben.

Collections

Für Collections werden folgende Parameterwerte benutzt:
  • „null“
  • Eine neue Instanz des Objektes, z.b. ArrayList