An error occurred while loading the file. Please try again.
DtaResult.php 3.50 KiB
<?php
class DtaResult {
	public $packageName;
	public $className;
    public $name;
    /**
     * State is defined like below
     *  0 UNKNOWN
     *  1 SUCCESS
     *  2 FAILURE
     *  3 COMPILATIONERROR
    public $state;
    public $failureType;
    public $failureReason;
    public $stacktrace;
    public $columnNumber;
    public $lineNumber;
    public $position;
    /**
     * @return name of state like defined
    public static function getStateName(int $state): string {
        if ($state == 1) {
            return "success";
        } else if ($state == 2) {
            return "failed";
        } else if ($state == 3) {
            return "compilation error";
        } else {
            return "unknown";
class DtaResultSummary {
    public $timestamp;
	public $successfulTestCompetencyProfile;
	public $overallTestCompetencyProfile;
    public $globalStacktrace;
    public $results;
    /**
     * @param string $jsonString jsonString containing DtaResultSummary
     * @return DtaResultSummary
    public static function decodeJson($jsonString): DtaResultSummary {
        $response = json_decode($jsonString);
        $summary = new DtaResultSummary();
        $summary->timestamp = $response->timestamp;
		$summary->globalStacktrace = $response->globalStacktrace;
		$summary->successfulTestCompetencyProfile = self::decodeJsonCompetencyArray($response->successfulTestCompetencyProfile);
		$summary->overallTestCompetencyProfile = self::decodeJsonCompetencyArray($response->overallTestCompetencyProfile);
        $summary->results = self::decodeJsonResultArray($response->results);
        return $summary;
    private static function decodeJsonCompetencyArray($jsonArray): array {
$ret = array(); foreach ($jsonArray as $entry) { $ret[] = $entry; } return $ret; } /** * @param array $jsonArray decoded json array of results array * @return array of DtaResult */ private static function decodeJsonResultArray($jsonArray): array { $ret = array(); foreach ($jsonArray as $entry) { $value = new DtaResult(); $value->packageName = $entry->packageName; $value->className = $entry->className; $value->name = $entry->name; $value->state = $entry->state; $value->failureType = $entry->failureType; $value->failureReason = $entry->failureReason; $value->stacktrace = $entry->stacktrace; $value->columnNumber = $entry->columnNumber; $value->lineNumber = $entry->lineNumber; $value->position = $entry->position; $ret[] = $value; } return $ret; } /** * @param int $state state ordinal number * @return int count of occurences provided state has */ public function stateOccurenceCount(int $state): int { $num = 0; foreach($this->results as $r) { if ($r->state == $state) { $num++; } } return $num; } public function compilationErrorCount(): int { return $this->stateOccurenceCount(3); } public function failedCount(): int { return $this->stateOccurenceCount(2); } public function resultCount(): int { return count($this->results); } public function successfulCount(): int { return $this->stateOccurenceCount(1); } public function unknownCount(): int { return $this->stateOccurenceCount(0); } }