-
Notifications
You must be signed in to change notification settings - Fork 2
/
TP1-Requeriments-Tests.st
132 lines (87 loc) · 4.83 KB
/
TP1-Requeriments-Tests.st
1
TestCase subclass: #AlgoRemisTest instanceVariableNames: 'precision' classVariableNames: '' package: 'TP1-Requeriments-Tests'!!AlgoRemisTest methodsFor: 'tests'!test05ViajeACiudadUniversitariaConAutoElectricoSaleMasBarato | algoRemis viaje valorEsperado | algoRemis := AlgoRemis new. algoRemis registrarChoferDeAuto: 'Nico' conTarifaInicial: 250. algoRemis registrarChoferDeAutoElectrico: 'Seba' conTarifaInicial: 400. algoRemis crearViajeConDestino: 'Ciudad Universitaria' aKms: 25 peajes: 2. viaje := algoRemis viajeMasBaratoParaDestino: 'Ciudad Universitaria'. valorEsperado := 400 "tarifa inicial" + (25 "km" * 30 "precio/km") + (2 "peajes" * 50 "tarifa peaje"). self assert: 'Seba' equals: (viaje chofer). self assert: valorEsperado closeTo: (viaje precio) precision: precision.! !!AlgoRemisTest methodsFor: 'tests' stamp: 'ds 10/11/2021 11:20'!test07ViajeTerminalDeOmnibusElAutoPagaCienPorcientoPrimerPeajeCincuentaElSegundoYNadaLosSiguentes | algoRemis viaje valorEsperadoConHospital | algoRemis := AlgoRemis new. algoRemis registrarChoferDeAuto: 'Pablo' conTarifaInicial: 450. algoRemis registrarChoferDeAutoElectrico: 'Santi' conTarifaInicial: 350. algoRemis crearViajeConDestino: 'Retiro' aKms: 10 peajes: 3. viaje := algoRemis viajeMasBaratoParaDestino: 'Retiro'. valorEsperadoConHospital := 350 "tarifa inicial" + (10 "km" * 30 "precio/km") + (50 + 25 + 0). self assert: 'Santi' equals: (viaje chofer). self assert: (viaje precio) closeTo: valorEsperadoConHospital precision: precision.! !!AlgoRemisTest methodsFor: 'tests'!test03ViajeDeChoferDeAutoElectricoHaciaFIUBAOfreceElMasBarato | algoRemis viaje valorEsperado | algoRemis := AlgoRemis new. algoRemis registrarChoferDeAutoElectrico: 'Tomas' conTarifaInicial: 200. algoRemis crearViajeConDestino: 'Av Paseo Colon 850' aKms: 15 peajes: 1. viaje := algoRemis viajeMasBaratoParaDestino: 'Av Paseo Colon 850'. valorEsperado := 200 "tarifa inicial" + (15 "km" * 30 "precio/km") + (1 "peajes" * 50 "tarifa peaje"). self assert: 'Tomas' equals: (viaje chofer). self assert: valorEsperado closeTo: (viaje precio) precision: precision.! !!AlgoRemisTest methodsFor: 'tests'!test02AlgoRemisConDosChoferesRegistradosConDistintaTarifaInicialEligeElMasBarato | algoRemis viaje valorEsperado | algoRemis := AlgoRemis new. algoRemis registrarChoferDeAuto: 'Diego' conTarifaInicial: 500. algoRemis registrarChoferDeAuto: 'Pablo' conTarifaInicial: 450. algoRemis crearViajeConDestino: 'Av Paseo Colon 850' aKms: 15 peajes: 1. viaje := algoRemis viajeMasBaratoParaDestino: 'Av Paseo Colon 850'. valorEsperado := 450 "tarifa inicial" + (15 "km" * 50 "precio/km") + (1 "peajes" * 100 "tarifa peaje"). self assert: 'Pablo' equals: (viaje chofer). self assert: valorEsperado closeTo: (viaje precio) precision: precision.! !!AlgoRemisTest methodsFor: 'tests'!test04AlgoRemisConDosChoferesRegistradosConDistintaTarifaInicialEligeElMasBarato | algoRemis viaje valorEsperado | algoRemis := AlgoRemis new. algoRemis registrarChoferDeAutoElectrico: 'Tomas' conTarifaInicial: 200. algoRemis registrarChoferDeAutoElectrico: 'Seba' conTarifaInicial: 400. algoRemis crearViajeConDestino: 'Segurola y Habana 4310, septimo piso' aKms: 15 peajes: 1. viaje := algoRemis viajeMasBaratoParaDestino: 'Segurola y Habana 4310, septimo piso'. valorEsperado := 200 "tarifa inicial" + (15 "km" * 30 "precio/km") + (1 "peajes" * 50 "tarifa peaje"). self assert: 'Tomas' equals: (viaje chofer). self assert: valorEsperado closeTo: (viaje precio) precision: precision.! !!AlgoRemisTest methodsFor: 'tests'!test06ViajeAHospitalRecibeUnDescuentoAdicional | algoRemis viaje valorEsperadoConHospital | algoRemis := AlgoRemis new. algoRemis registrarChoferDeAuto: 'Pablo' conTarifaInicial: 450. algoRemis registrarChoferDeAuto: 'Santi' conTarifaInicial: 350. algoRemis crearViajeConDestino: 'Hospital Tres Arcos' aKms: 10 peajes: 1. viaje := algoRemis viajeMasBaratoParaDestino: 'Hospital Tres Arcos'. valorEsperadoConHospital := 0.2 * (350 "tarifa inicial" + (10 "km" * 50 "precio/km") + (1 "peajes" * 100 "tarifa peaje")). self assert: 'Santi' equals: (viaje chofer). self assert: valorEsperadoConHospital closeTo: (viaje precio) precision: precision.! !!AlgoRemisTest methodsFor: 'tests'!test01ViajeDeChoferDeAutoOfreceElPrecioMasBarato | algoRemis viaje valorEsperado | algoRemis := AlgoRemis new. algoRemis registrarChoferDeAuto: 'Diego' conTarifaInicial: 500. algoRemis crearViajeConDestino: 'Parque La Costa' aKms: 2 peajes: 0. viaje := algoRemis viajeMasBaratoParaDestino: 'Parque La Costa'. valorEsperado := 500 "tarifa inicial" + (2 "km" * 50 "precio/km")+ (0 "peajes" * 100 "tarifa peaje"). self assert: 'Diego' equals: (viaje chofer). self assert: valorEsperado closeTo: (viaje precio) precision: precision.! !!AlgoRemisTest methodsFor: 'running'!setUp precision := 0.001! !