From 8042208e39d8959e51b7cee44e7efdf84d8bc3f6 Mon Sep 17 00:00:00 2001 From: JJAS2022 Date: Fri, 3 Mar 2023 23:13:05 +0100 Subject: [PATCH 1/3] =?UTF-8?q?Adici=C3=B3n=20de=20proyecto=20de=20pruebas?= =?UTF-8?q?=20y=20modificaciones=20en=20el=20c=C3=B3digo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gestionBancariaApp/gestionBancaria.cs | 17 +- gestionBancariaApp/gestionBancariaApp.sln | 16 +- .../Properties/AssemblyInfo.cs | 20 ++ .../gestionBancariaTest.cs | 30 +++ .../gestionBancariaTest.csproj | 68 +++++ .../gestionBancariaTest/packages.config | 5 + .../Properties/AssemblyInfo.cs | 20 ++ gestionBancariaTest/UnitTest1.cs | 233 ++++++++++++++++++ .../gestionBancariaTest.csproj | 74 ++++++ gestionBancariaTest/packages.config | 5 + 10 files changed, 472 insertions(+), 16 deletions(-) create mode 100644 gestionBancariaApp/gestionBancariaTest/Properties/AssemblyInfo.cs create mode 100644 gestionBancariaApp/gestionBancariaTest/gestionBancariaTest.cs create mode 100644 gestionBancariaApp/gestionBancariaTest/gestionBancariaTest.csproj create mode 100644 gestionBancariaApp/gestionBancariaTest/packages.config create mode 100644 gestionBancariaTest/Properties/AssemblyInfo.cs create mode 100644 gestionBancariaTest/UnitTest1.cs create mode 100644 gestionBancariaTest/gestionBancariaTest.csproj create mode 100644 gestionBancariaTest/packages.config diff --git a/gestionBancariaApp/gestionBancaria.cs b/gestionBancariaApp/gestionBancaria.cs index a8213b5..6e6fa9b 100644 --- a/gestionBancariaApp/gestionBancaria.cs +++ b/gestionBancariaApp/gestionBancaria.cs @@ -27,38 +27,33 @@ public double obtenerSaldo() public void realizarReintegro(double cantidad) { - if (cantidad <= 0) { - mostrarError(ERR_CANTIDAD_INDICADA_NEGATIVA); + throw new ArgumentOutOfRangeException("Cantidad indicada es negativa"); } else { - if (cantidad > 0 && saldo > cantidad) + if (cantidad > 0 && saldo >= cantidad) { saldo -= cantidad; } else - mostrarError(ERR_SALDO_INSUFICIENTE); - + throw new ArgumentOutOfRangeException("Saldo insuficiente"); } - } public void realizarIngreso(double cantidad) { - if (cantidad < 0) { - mostrarError(ERR_CANTIDAD_INDICADA_NEGATIVA); + throw new ArgumentOutOfRangeException("Cantidad indicada es negativa"); } else { if (cantidad > 0) - saldo -= cantidad; - } - + saldo += cantidad; + } } diff --git a/gestionBancariaApp/gestionBancariaApp.sln b/gestionBancariaApp/gestionBancariaApp.sln index 6b9bf39..0a8e880 100644 --- a/gestionBancariaApp/gestionBancariaApp.sln +++ b/gestionBancariaApp/gestionBancariaApp.sln @@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.4.33122.133 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gestionBancariaApp", "gestionBancariaApp.csproj", "{A1EDD74E-C398-4F83-AA6E-75E96499221A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gestionBancariaApp", "gestionBancariaApp.csproj", "{825751E1-FDB6-44BF-863D-A747B244477A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gestionBancariaTest", "..\gestionBancariaTest\gestionBancariaTest.csproj", "{920157BA-B9CC-4F21-9FD0-F7844318F7A4}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,10 +13,14 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A1EDD74E-C398-4F83-AA6E-75E96499221A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A1EDD74E-C398-4F83-AA6E-75E96499221A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A1EDD74E-C398-4F83-AA6E-75E96499221A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A1EDD74E-C398-4F83-AA6E-75E96499221A}.Release|Any CPU.Build.0 = Release|Any CPU + {825751E1-FDB6-44BF-863D-A747B244477A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {825751E1-FDB6-44BF-863D-A747B244477A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {825751E1-FDB6-44BF-863D-A747B244477A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {825751E1-FDB6-44BF-863D-A747B244477A}.Release|Any CPU.Build.0 = Release|Any CPU + {920157BA-B9CC-4F21-9FD0-F7844318F7A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {920157BA-B9CC-4F21-9FD0-F7844318F7A4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {920157BA-B9CC-4F21-9FD0-F7844318F7A4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {920157BA-B9CC-4F21-9FD0-F7844318F7A4}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/gestionBancariaApp/gestionBancariaTest/Properties/AssemblyInfo.cs b/gestionBancariaApp/gestionBancariaTest/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..9221573 --- /dev/null +++ b/gestionBancariaApp/gestionBancariaTest/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("gestionBancariaTest")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("gestionBancariaTest")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: Guid("530c1eab-7abe-4d87-8741-88b7d0cb6e50")] + +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/gestionBancariaApp/gestionBancariaTest/gestionBancariaTest.cs b/gestionBancariaApp/gestionBancariaTest/gestionBancariaTest.cs new file mode 100644 index 0000000..fe2840f --- /dev/null +++ b/gestionBancariaApp/gestionBancariaTest/gestionBancariaTest.cs @@ -0,0 +1,30 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using gestionBancariaApp; + +namespace gestionBancariaTest +{ + [TestClass] + public class gestionBancariaTest + { + [TestMethod] + public void validarMetodoIngreso() + { + // Preparación del caso de prueba + double saldoInicial = 1000; + double ingreso = 500; + double saldoActual = 0; + double saldoEsperado = 1500; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(); + + // Método a probar + cuenta.realizarIngreso(); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + } +} diff --git a/gestionBancariaApp/gestionBancariaTest/gestionBancariaTest.csproj b/gestionBancariaApp/gestionBancariaTest/gestionBancariaTest.csproj new file mode 100644 index 0000000..c13a6c5 --- /dev/null +++ b/gestionBancariaApp/gestionBancariaTest/gestionBancariaTest.csproj @@ -0,0 +1,68 @@ + + + + + + Debug + AnyCPU + {530C1EAB-7ABE-4D87-8741-88B7D0CB6E50} + Library + Properties + gestionBancariaTest + gestionBancariaTest + v4.7.2 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\MSTest.TestFramework.2.2.7\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\packages\MSTest.TestFramework.2.2.7\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + + + + + Este proyecto hace referencia a los paquetes NuGet que faltan en este equipo. Use la restauración de paquetes NuGet para descargarlos. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkID=322105. El archivo que falta es {0}. + + + + + + \ No newline at end of file diff --git a/gestionBancariaApp/gestionBancariaTest/packages.config b/gestionBancariaApp/gestionBancariaTest/packages.config new file mode 100644 index 0000000..54eb31a --- /dev/null +++ b/gestionBancariaApp/gestionBancariaTest/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/gestionBancariaTest/Properties/AssemblyInfo.cs b/gestionBancariaTest/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..30e138b --- /dev/null +++ b/gestionBancariaTest/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("gestionBancariaTest")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("gestionBancariaTest")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: Guid("920157ba-b9cc-4f21-9fd0-f7844318f7a4")] + +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/gestionBancariaTest/UnitTest1.cs b/gestionBancariaTest/UnitTest1.cs new file mode 100644 index 0000000..36063a8 --- /dev/null +++ b/gestionBancariaTest/UnitTest1.cs @@ -0,0 +1,233 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using gestionBancariaApp; + +namespace gestionBancariaTest +{ + [TestClass] + public class gestionBancariaTest + { + [TestMethod] + public void validarMetodoIngreso() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double ingreso = 500; + double saldoActual = 0; + double saldoEsperado = 1500; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarIngreso(ingreso); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + + /*[TestMethod] + public void ComprobarIngresoNegativo() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double ingreso = -500; + double saldoActual = 0; + double saldoEsperado = 1000; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarIngreso(ingreso); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + }*/ + + [TestMethod] + public void ComprobarIngresoCero() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double ingreso = 0; + double saldoActual = 0; + double saldoEsperado = 1000; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarIngreso(ingreso); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + + /*[TestMethod] + public void ComprobarReintegroNegativo() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double retirada = -500; + double saldoActual = 0; + double saldoEsperado = 1000; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarReintegro(retirada); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + }*/ + + /*[TestMethod] + public void ComprobarReintegroCero() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double retirada = 0; + double saldoActual = 0; + double saldoEsperado = 1000; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarReintegro(retirada); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + }*/ + + /* + [TestMethod] + public void ComprobarReintegroSuperiorASaldo() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double retirada = 2000; + double saldoActual = 0; + double saldoEsperado = 1000; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarReintegro(retirada); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + }*/ + + [TestMethod] + public void ComprobarReintegroIgualASaldo() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double retirada = 1000; + double saldoActual = 0; + double saldoEsperado = 0; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarReintegro(retirada); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + + [TestMethod] + public void ComprobarReintegroInferiorASaldo() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double retirada = 500; + double saldoActual = 0; + double saldoEsperado = 500; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarReintegro(retirada); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + + // ---------------------------------- MÉTODOS DE PRUEBA CON EXCEPCIONES------------------------------ + + [TestMethod] + [ExpectedException(typeof(ArgumentOutOfRangeException))] + public void ComprobarIngresoNegativo() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double ingreso = -500; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarIngreso(ingreso); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentOutOfRangeException))] + public void ComprobarReintegroNegativo() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double retirada = -500; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarReintegro(retirada); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentOutOfRangeException))] + public void ComprobarReintegroCero() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double retirada = 0; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarReintegro(retirada); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentOutOfRangeException))] + public void ComprobarReintegroSuperiorASaldo() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double retirada = 2000; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.realizarReintegro(retirada); + } + } +} diff --git a/gestionBancariaTest/gestionBancariaTest.csproj b/gestionBancariaTest/gestionBancariaTest.csproj new file mode 100644 index 0000000..2b843e3 --- /dev/null +++ b/gestionBancariaTest/gestionBancariaTest.csproj @@ -0,0 +1,74 @@ + + + + + + Debug + AnyCPU + {920157BA-B9CC-4F21-9FD0-F7844318F7A4} + Library + Properties + gestionBancariaTest + gestionBancariaTest + v4.7.2 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\gestionBancariaApp\packages\MSTest.TestFramework.2.2.7\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\gestionBancariaApp\packages\MSTest.TestFramework.2.2.7\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + + + {825751e1-fdb6-44bf-863d-a747b244477a} + gestionBancariaApp + + + + + + + Este proyecto hace referencia a los paquetes NuGet que faltan en este equipo. Use la restauración de paquetes NuGet para descargarlos. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkID=322105. El archivo que falta es {0}. + + + + + + \ No newline at end of file diff --git a/gestionBancariaTest/packages.config b/gestionBancariaTest/packages.config new file mode 100644 index 0000000..54eb31a --- /dev/null +++ b/gestionBancariaTest/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file From 80cbc1249134b58000167f1d70f23a9d123f7311 Mon Sep 17 00:00:00 2001 From: JJAS2022 Date: Fri, 3 Mar 2023 23:26:20 +0100 Subject: [PATCH 2/3] =?UTF-8?q?Actualizaci=C3=B3n.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gestionBancariaTest/{UnitTest1.cs => gestionBancariaTest.cs} | 5 ++++- gestionBancariaTest/gestionBancariaTest.csproj | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) rename gestionBancariaTest/{UnitTest1.cs => gestionBancariaTest.cs} (96%) diff --git a/gestionBancariaTest/UnitTest1.cs b/gestionBancariaTest/gestionBancariaTest.cs similarity index 96% rename from gestionBancariaTest/UnitTest1.cs rename to gestionBancariaTest/gestionBancariaTest.cs index 36063a8..e007b39 100644 --- a/gestionBancariaTest/UnitTest1.cs +++ b/gestionBancariaTest/gestionBancariaTest.cs @@ -7,6 +7,9 @@ namespace gestionBancariaTest [TestClass] public class gestionBancariaTest { + // ---------------------------------- MÉTODOS DE PRUEBA INICIALES (SIN EXCEPCIONES)-------------------------------- + // Los métodos comentados son los que se han pasado a excepciones en el punto 8 de la práctica. + [TestMethod] public void validarMetodoIngreso() { @@ -168,7 +171,7 @@ public void ComprobarReintegroInferiorASaldo() Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); } - // ---------------------------------- MÉTODOS DE PRUEBA CON EXCEPCIONES------------------------------ + // --------------------------------------- MÉTODOS DE PRUEBA CON EXCEPCIONES--------------------------------------- [TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException))] diff --git a/gestionBancariaTest/gestionBancariaTest.csproj b/gestionBancariaTest/gestionBancariaTest.csproj index 2b843e3..f0adb70 100644 --- a/gestionBancariaTest/gestionBancariaTest.csproj +++ b/gestionBancariaTest/gestionBancariaTest.csproj @@ -49,7 +49,7 @@ - + From c45a9624c79beca063d5ad56a784b115a2d6df48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JAVIER=20JESUS=20ALI=C3=91O=20SEHWERERT?= Date: Mon, 13 Mar 2023 19:07:09 +0100 Subject: [PATCH 3/3] =?UTF-8?q?Examen=20-=20Nuevo=20m=C3=A9todo=20de=20pru?= =?UTF-8?q?eba=20para=20aperturaCuenta.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gestionBancariaApp/gestionBancaria.cs | 12 +++ gestionBancariaTest/gestionBancariaTest.cs | 107 +++++++++++++++++++++ 2 files changed, 119 insertions(+) diff --git a/gestionBancariaApp/gestionBancaria.cs b/gestionBancariaApp/gestionBancaria.cs index 6e6fa9b..9f55d4b 100644 --- a/gestionBancariaApp/gestionBancaria.cs +++ b/gestionBancariaApp/gestionBancaria.cs @@ -75,4 +75,16 @@ public void mostrarError(int error) } } + + public void aperturaCuenta(double cantidadApertura) + { + if(cantidadApertura >=1 && cantidadApertura <= 100) + { + saldo = cantidadApertura; + } + else + { + saldo = 0; + } + } } \ No newline at end of file diff --git a/gestionBancariaTest/gestionBancariaTest.cs b/gestionBancariaTest/gestionBancariaTest.cs index e007b39..85f643d 100644 --- a/gestionBancariaTest/gestionBancariaTest.cs +++ b/gestionBancariaTest/gestionBancariaTest.cs @@ -7,6 +7,113 @@ namespace gestionBancariaTest [TestClass] public class gestionBancariaTest { + // EXAMEN: Métodos para comprobar validez aperturaCuenta + + // Método para probar que no admite valores menores que 1 + [TestMethod] + public void validarAperturaCuentaSaldoMenorQueUno() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double apertura = 0; + double saldoActual = 0; + double saldoEsperado = 0; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.aperturaCuenta(apertura); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + + // Método para probar que no admite valores mayores que 100 + [TestMethod] + public void validarAperturaCuentaMayorQueCien() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double apertura = 200; + double saldoActual = 0; + double saldoEsperado = 0; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.aperturaCuenta(apertura); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + + // Método para probar que admite correctamente el valor 1 + [TestMethod] + public void validarAperturaCuentaSaldoPositivoIgualAUno() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double apertura = 1; + double saldoActual = 0; + double saldoEsperado = 1; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.aperturaCuenta(apertura); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + + // Método para probar que admite correctamente el valor 50 + [TestMethod] + public void validarAperturaCuentaSaldoPositivoIgualACincuenta() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double apertura = 50; + double saldoActual = 0; + double saldoEsperado = 50; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.aperturaCuenta(apertura); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + + // Método para probar que admite correctamente el valor 100 + [TestMethod] + public void validarAperturaCuentaSaldoPositivoIgualACien() + { + // Presentación del caso de prueba + double saldoInicial = 1000; + double apertura = 100; + double saldoActual = 0; + double saldoEsperado = 100; + + // Instancia de objeto de la clase gestionBancaria + gestionBancaria cuenta = new gestionBancaria(saldoInicial); + + // Método a probar + cuenta.aperturaCuenta(apertura); + + // Afirmación de la prueba (resultado esperado vs. resultado obtenido) + saldoActual = cuenta.obtenerSaldo(); + Assert.AreEqual(saldoEsperado, saldoActual, 0.001, "El saldo de la cuenta no es correcto."); + } + // ---------------------------------- MÉTODOS DE PRUEBA INICIALES (SIN EXCEPCIONES)-------------------------------- // Los métodos comentados son los que se han pasado a excepciones en el punto 8 de la práctica.