From 19de2ee1e3a7004ae293e525a466ae684cc632b9 Mon Sep 17 00:00:00 2001 From: Vilaboa Date: Tue, 1 Apr 2025 14:03:17 +0200 Subject: [PATCH 1/2] Mejora del calculo de la posicion cinco del CINI de fiabilidad --- cini/models.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cini/models.py b/cini/models.py index 2e4694c..87c124c 100644 --- a/cini/models.py +++ b/cini/models.py @@ -804,6 +804,12 @@ class Fiabilidad(Base): 'P': '2' } + TIPO_INTERRUPTORES = { + '0': '2', + '1': '3', + '2': '3' + } + SITUACIONES = { 'SE': '1', 'CT': '2', @@ -820,6 +826,7 @@ def __init__(self): self.tension = None self.tipo = None self.tipo_posicion = None + self.tipo_interruptor = None self.telemando = None self.situacion = None self.aislante = None @@ -843,8 +850,9 @@ def cini(self): c.positions[3] = self.TENSIONES[self.situacion][1] elif 1 <= self.tension < 36: c.positions[3] = self.TENSIONES[self.situacion][2] - if self.situacion in ('CT', 'SE'): - c.positions[4] = '2' + if self.situacion in ('CT', 'SE') and self.tipo_interruptor: + c.positions[4] = ( + self.TIPO_INTERRUPTORES.get(self.tipo_interruptor, '2')) else: c.positions[4] = '0' if self.situacion == 'LAT' and self.tipo: From 4e3a8c8c67f7294fd04454023356b0eb79c2192a Mon Sep 17 00:00:00 2001 From: Vilaboa Date: Tue, 1 Apr 2025 14:27:28 +0200 Subject: [PATCH 2/2] Testing coverage and fix tipo ints --- cini/models.py | 2 +- spec/fiabilidad_spec.py | 38 ++++++++++++++++++++++++++------------ 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/cini/models.py b/cini/models.py index 87c124c..1cfd20b 100644 --- a/cini/models.py +++ b/cini/models.py @@ -806,7 +806,7 @@ class Fiabilidad(Base): TIPO_INTERRUPTORES = { '0': '2', - '1': '3', + '1': '2', '2': '3' } diff --git a/spec/fiabilidad_spec.py b/spec/fiabilidad_spec.py index acfd920..6763f6d 100644 --- a/spec/fiabilidad_spec.py +++ b/spec/fiabilidad_spec.py @@ -97,22 +97,36 @@ expect(cini[3]).to(equal('C')) with description('la cuarta posición'): + with before.all: + self.fiab = Fiabilidad() with context('Si está en un CT'): with it('must be 2'): - l = Fiabilidad() - l.situacion = 'CT' - l.tipo = 'S' - cini = l.cini - expect(cini[4]).to(equal('2')) + self.fiab.situacion = 'CT' + self.fiab.tipo = 'S' + for int in ['0', '1']: + self.fiab.tipo_interruptor = int + cini = self.fiab.cini + expect(cini[4]).to(equal('2')) + with it('must be 3'): + self.fiab.situacion = 'CT' + self.fiab.tipo = 'S' + self.fiab.tipo_interruptor = '2' + cini = self.fiab.cini + expect(cini[4]).to(equal('3')) with context('Si está en una SE'): with it('must be 2'): - l = Fiabilidad() - l.situacion = 'SE' - l.tipo = 'R' - cini = l.cini - expect(cini[4]).to(equal('2')) - with before.all: - self.fiab = Fiabilidad() + self.fiab.situacion = 'SE' + self.fiab.tipo = 'R' + for int in ['0', '1']: + self.fiab.tipo_interruptor = int + cini = self.fiab.cini + expect(cini[4]).to(equal('2')) + with it('must be 3'): + self.fiab.situacion = 'SE' + self.fiab.tipo = 'R' + self.fiab.tipo_interruptor = '2' + cini = self.fiab.cini + expect(cini[4]).to(equal('3')) with it('must be 0'): cini = self.fiab.cini expect(cini[4]).to(equal('0'))