Arrange: Definir los objetos que seran utilizados para las pruebas unitarias
Act: Ejecutar los objetos necesarios para llevar a cabo las pruebas unitarias
Assert: Comparar el resultado esperado con el resultado obtenido.
Creamos la clase del método que resuelve la lógica con el proyecto de tipo "Biblioteca de clases Net Framework" "XCalculadora":
CalculadoraDeImpuestos.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XCalculadora
{
public class CalculadoraDeImpuestos
{
public decimal IbtenerIVA(decimal montoReserva)
{
const decimal porcentaje = 0.16m;
decimal ivaReserva = porcentaje * montoReserva;
return ivaReserva;
}
}
}
----------------------------------------------------------------------
El mismo metodo pero utilizando expresiones lambda y delegados
namespace XCalculadora
{
public class CalculadoraDeImpuestos
{
private const decimal porcentajeIva = 0.16m;
public delegate decimal Lambda(decimal value);
public Lambda ObtenerIVA = delegate (decimal value) { return porcentajeIva * value; };
}
}
Creamos el metodo que utiliza AAA en las pruebas unitarias en el proyecto "Test Unit" "XCalculadoraDeImpuestos"
CalculadoraTest.cs
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using XCalculadora;
namespace XCalculadoraDeImpuestosTest
{
/*
Proyecto: sistema d administracion de un hotel
Delimitacion: impuestos
Requerimiento:
Obtener el iva a partir del monto de una reserva
Obtener el impuesto de un hospedaje a partir de una reserva
Obtener el monto total de la reserva (con impuestos incluidos)
*/
[TestClass]
public class CalculadoraTest
{
[TestMethod]
public void ImpuestosTest()
{
//Arrange
CalculadoraDeImpuestos ci = new CalculadoraDeImpuestos();
//Act
decimal iva = ci.IbtenerIVA(1550.00m);
//Assert
//iva 16%
//reserva = 1550
//1550 * 16% = 248
Assert.AreEqual(248.00m, iva);
}
}
}
No hay comentarios.:
Publicar un comentario