Object subclass: #Paciente instanceVariableNames: 'nombre tipoPaciente cantPagada' classVariableNames: '' package: 'tp0.5-Modelo'! !Paciente methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:14'! devolverTipo ^ tipoPaciente .! ! !Paciente methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 14:07'! establecerNombre: unNombre nombre := unNombre .! ! !Paciente methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:38'! devolverCantidadPagada ^ cantPagada .! ! !Paciente methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:05'! agregarCantidadPagada: precio cantPagada := cantPagada + precio.! ! !Paciente methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 14:16'! definirTipoPaciente: tipo tipoPaciente := tipo.! ! !Paciente methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:38'! pagar (self devolverTipo = 'Particular') ifTrue: [ self agregarCantidadPagada: 7000 ] ifFalse: [ self agregarCantidadPagada: 5000 ] .! ! !Paciente methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:24'! devolverNombre ^ nombre.! ! !Paciente methodsFor: 'initialization' stamp: 'AgustinSanchez 9/21/2021 16:12'! initialize cantPagada := 0.! ! Object subclass: #Testeo instanceVariableNames: 'Pacientes TarifaOS TarifaParticular Nombre' classVariableNames: '' package: 'tp0.5-Modelo'! !Testeo methodsFor: 'initialization' stamp: 'AgustinSanchez 9/21/2021 23:10'! initialize Pacientes := OrderedCollection new .! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:38'! cantidadPagadaPor: nombre |paciente| paciente := Pacientes detect: [ :unNombre | nombre = unNombre devolverNombre ]. ^ paciente devolverCantidadPagada .! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 23:07'! establecerTarifaObraSocial: tarifa TarifaOS := tarifa.! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:32'! recibirPagoDe: unNombre |paciente| paciente := Pacientes detect: [ :nombre | unNombre = (nombre devolverNombre) ]. paciente pagar.! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 23:20'! obtenerNombresPacientes | nombres | nombres := OrderedCollection new. Pacientes do: [ :nombre | nombres add: (nombre devolverNombre) ]. ^ nombres.! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:34'! establecerNombre: nombre Nombre := nombre.! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:33'! establecerTarifaParticular: tarifa TarifaParticular := tarifa.! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 22:57'! obtenerTotal |total| total := 0. Pacientes do: [ :dinero | total := total + (dinero devolverCantidadPagada) ]. ^ total.! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 23:04'! agregarPacienteObraSocial: paciente paciente definirTipoPaciente: 'OS'. Pacientes add: paciente.! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 16:10'! agregarPacienteParticular: paciente paciente definirTipoPaciente: 'Particular'. Pacientes add: paciente.! ! !Testeo methodsFor: 'as yet unclassified' stamp: 'AgustinSanchez 9/21/2021 23:11'! obtenerCantidadDePacientes ^ Pacientes size.! !