Commit 1be701c1 authored by Mathias Chouet's avatar Mathias Chouet :spaghetti:
Browse files

Fix bug in hasLog() methods

Showing with 33 additions and 8 deletions
+33 -8
......@@ -195,7 +195,7 @@ describe("Class Pab: ", () => {
)
);
pab.calculatedParam = pab.prms.Z1;
expect(pab.CalcSerie().resultElement.log.messages[0].code)
expect(pab.CalcSerie().globalLog.messages[0].code)
.toBe(MessageCode.ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE);
});
});
......
......@@ -6,11 +6,11 @@ import { Props } from "../props";
import { Session } from "../session";
import { ParallelStructure } from "../structure/parallel_structure";
import { StructureTriangularTruncWeirFree } from "../structure/structure_triangular_trunc_weir";
import { Message, MessageCode } from "../util/message";
import { Result } from "../util/result";
import { CloisonAval, ParallelStructureParams } from "./cloison_aval";
import { Cloisons } from "./cloisons";
import { PabParams } from "./pab_params";
import { Message, MessageCode } from "../util/message";
export { PabParams };
......@@ -93,8 +93,16 @@ export class Pab extends Nub {
}
}
public CalcSerie(rInit?: number, sDonnee?: any): Result {
if (!this.downWall.checkVanneLevante()) {
const emptyResult = new Result(undefined, this);
emptyResult.globalLog.insert(new Message(MessageCode.ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE));
return emptyResult;
}
return super.CalcSerie(rInit, sDonnee);
}
/**
*
* @param sVarCalc Calcul
*/
public Calc(sVarCalc: string, rInit?: number): Result {
......
......@@ -72,7 +72,17 @@ export class Result extends JalhydObject implements INamedIterableValues {
* @return true si il y a au moins un message dans le log global ou dans les ResultElement
*/
public get hasLog(): boolean {
return (this.nbResultElements > 0 && this.log.messages.length > 0) || this.hasGlobalLog;
if (this.hasGlobalLog) {
return true;
} else {
// Test des journaux des résultats
for (const r of this._resultElements) {
if (r.hasLog) {
return true;
}
}
}
return false;
}
/**
......@@ -111,7 +121,7 @@ export class Result extends JalhydObject implements INamedIterableValues {
}
/**
* @return le résultat de calcul du 1er ResultElement
* @return le résultat de calcul du ResultElement le plus récent
*/
get vCalc(): number {
return this.resultElement.vCalc;
......@@ -122,7 +132,7 @@ export class Result extends JalhydObject implements INamedIterableValues {
}
/**
* retourne le journal du 1er ResultElement
* retourne le journal du ResultElement le plus récent
*/
public get log() {
// return this._globalLog;
......@@ -130,14 +140,14 @@ export class Result extends JalhydObject implements INamedIterableValues {
}
/**
* retourne le code du 1er ResultElement
* retourne le code du ResultElement le plus récent
*/
public get code(): MessageCode {
return this.resultElement.code;
}
/**
* retourne les résultats complémentaires du 1er ResultElement
* retourne les résultats complémentaires du ResultElement le plus récent
*/
get extraResults() {
return this.resultElement.extraResults;
......
......@@ -65,6 +65,13 @@ export class ResultElement {
return this.log.messages.length;
}
/**
* Returns true if current log has at least one message
*/
public get hasLog() {
return this.messageCount > 0;
}
public get hasErrorMessages(): boolean {
for (const m of this.log.messages) {
if (m.code !== MessageCode.ERROR_OK && m.getSeverity() === MessageSeverity.ERROR) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment