Exemple #1
0
        public void AssignSubZoneToAZoneWithoutCapacityTest()
        {
            ZoneDTO zone = new ZoneDTO();

            zone.Name        = "Zona 1";
            zone.MaxCapacity = 60;
            zone.Id          = Guid.NewGuid();

            ZoneDTO subZone = new ZoneDTO();

            subZone.Name        = "SubZona 1";
            subZone.MaxCapacity = 70;
            subZone.Id          = Guid.NewGuid();

            List <ZoneDTO> subZones = new List <ZoneDTO>();

            subZones.Add(subZone);
            zone.SubZones = subZones;

            var mockZoneDAO    = new Mock <ZoneDAO>();
            var mockFlowDAO    = new Mock <FlowDAO>();
            var mockVehicleDAO = new Mock <VehicleDAO>();

            mockZoneDAO.Setup(z => z.FindZoneById(zone.Id)).Returns(zone);
            mockZoneDAO.Setup(z => z.FindZoneById(subZone.Id)).Returns(subZone);
            mockZoneDAO.Setup(z => z.GetZoneCapacityLeft(zone.Id)).Returns(60);
            mockZoneDAO.Setup(z => z.AssignZone(subZone.Id, zone.Id)).Throws(new ZoneOutOfCapacityException());

            var zoneService = new ZoneServiceImp(mockZoneDAO.Object, mockFlowDAO.Object, mockVehicleDAO.Object);

            zoneService.AssignZone(subZone.Id, zone.Id);
        }
Exemple #2
0
        public void CreateZoneSuccessfullyTest()
        {
            ZoneDTO zone = new ZoneDTO();

            zone.Name        = "Zona 1";
            zone.MaxCapacity = 60;
            zone.Id          = Guid.NewGuid();

            var     mockZoneDAO = new Mock <ZoneDAO>();
            ZoneDTO mockZone    = new ZoneDTO();

            mockZone.Name        = "Zona 1";
            mockZone.MaxCapacity = 60;

            mockZoneDAO.Setup(z => z.FindZoneById(zone.Id)).Returns(mockZone);

            var mockFlowDAO    = new Mock <FlowDAO>();
            var mockVehicleDAO = new Mock <VehicleDAO>();
            var zoneService    = new ZoneServiceImp(mockZoneDAO.Object, mockFlowDAO.Object, mockVehicleDAO.Object);

            zoneService.AddZone(zone);
            ZoneDTO resultZone = zoneService.FindZoneById(zone.Id);

            Assert.AreEqual(zone.Name, resultZone.Name);
            Assert.AreEqual(zone.MaxCapacity, resultZone.MaxCapacity);
            Assert.AreEqual(zone.IsSubZone, resultZone.IsSubZone);
        }
Exemple #3
0
        public void AssignZoneSuccessfullyTest()
        {
            ZoneDTO zone = new ZoneDTO();

            zone.Name        = "Zona 1";
            zone.MaxCapacity = 60;
            zone.Id          = Guid.NewGuid();

            ZoneDTO subZone = new ZoneDTO();

            subZone.Name        = "SubZona 1";
            subZone.MaxCapacity = 60;
            subZone.Id          = Guid.NewGuid();

            List <ZoneDTO> subZones = new List <ZoneDTO>();

            subZones.Add(subZone);
            zone.SubZones = subZones;

            var mockZoneDAO    = new Mock <ZoneDAO>();
            var mockFlowDAO    = new Mock <FlowDAO>();
            var mockVehicleDAO = new Mock <VehicleDAO>();

            mockZoneDAO.Setup(z => z.FindZoneById(zone.Id)).Returns(zone);
            mockZoneDAO.Setup(z => z.FindZoneById(subZone.Id)).Returns(subZone);
            mockZoneDAO.Setup(z => z.GetZoneCapacityLeft(zone.Id)).Returns(60);
            mockZoneDAO.Setup(z => z.AssignZone(subZone.Id, zone.Id)).Verifiable();

            var zoneService = new ZoneServiceImp(mockZoneDAO.Object, mockFlowDAO.Object, mockVehicleDAO.Object);

            zoneService.AssignZone(subZone.Id, zone.Id);
        }
Exemple #4
0
        public void AssignVehicleErrorFlowStepOrderTest()
        {
            FlowStepDTO firstStep  = new FlowStepDTO("Mecanica ligera");
            FlowStepDTO secondStep = new FlowStepDTO("Lavado");

            ZoneDTO firstZone = new ZoneDTO();

            firstZone.Name        = "SubZona 1";
            firstZone.MaxCapacity = 60;
            firstZone.Id          = Guid.NewGuid();
            firstZone.IsSubZone   = true;
            firstZone.FlowStep    = secondStep;

            VehicleDTO vehicle = new VehicleDTO();

            vehicle.Brand  = "Chevrolet";
            vehicle.Model  = "Onyx";
            vehicle.Year   = 2016;
            vehicle.Color  = "Gris";
            vehicle.Type   = "Auto";
            vehicle.Vin    = "TEST1234";
            vehicle.Status = StatusCode.ReadyToBeLocated;
            vehicle.Id     = Guid.NewGuid();

            List <VehicleDTO> vehicles = new List <VehicleDTO>();

            vehicles.Add(vehicle);
            firstZone.Vehicles = vehicles;

            List <FlowItemDTO> flow      = new List <FlowItemDTO>();
            FlowItemDTO        firstItem = new FlowItemDTO();

            firstItem.StepNumber = 1;
            firstItem.FlowStep   = firstStep;
            FlowItemDTO secondItem = new FlowItemDTO();

            secondItem.StepNumber = 2;
            secondItem.FlowStep   = secondStep;
            flow.Add(firstItem);
            flow.Add(secondItem);

            var mockZoneDAO    = new Mock <ZoneDAO>();
            var mockFlowDAO    = new Mock <FlowDAO>();
            var mockVehicleDAO = new Mock <VehicleDAO>();

            mockZoneDAO.Setup(z => z.FindZoneById(firstZone.Id)).Returns(firstZone);
            mockZoneDAO.Setup(z => z.GetVehicleCapacityLeft(firstZone.Id)).Returns(60);
            mockZoneDAO.Setup(z => z.AssignVehicle(firstZone.Id, vehicle.Vin)).Verifiable();
            ZoneDTO mockedZone = null;

            mockZoneDAO.Setup(z => z.GetVehicleZone(vehicle.Vin)).Returns(mockedZone);
            mockFlowDAO.Setup(f => f.GetFlow()).Returns(flow);
            mockVehicleDAO.Setup(v => v.FindVehicleByVin(vehicle.Vin)).Returns(vehicle);

            var zoneService = new ZoneServiceImp(mockZoneDAO.Object, mockFlowDAO.Object, mockVehicleDAO.Object);

            zoneService.AssignVehicle(firstZone.Id, vehicle.Vin);
        }
Exemple #5
0
        public void FindZoneWrongIdTest()
        {
            ZoneDTO zone = new ZoneDTO();

            zone.Name        = "Zona 1";
            zone.MaxCapacity = 60;

            var  mockZoneDAO    = new Mock <ZoneDAO>();
            var  mockFlowDAO    = new Mock <FlowDAO>();
            var  mockVehicleDAO = new Mock <VehicleDAO>();
            Guid newId          = Guid.NewGuid();

            mockZoneDAO.Setup(z => z.FindZoneById(newId)).Throws(new ZoneNotFoundException());

            var zoneService = new ZoneServiceImp(mockZoneDAO.Object, mockFlowDAO.Object, mockVehicleDAO.Object);

            zoneService.FindZoneById(zone.Id);
        }
Exemple #6
0
        public void ErrorCreatingSubZoneWithoutFlowStepTest()
        {
            ZoneDTO zone = new ZoneDTO();

            zone.Name        = "Zona 1";
            zone.MaxCapacity = 60;
            zone.IsSubZone   = true;
            zone.Id          = Guid.NewGuid();

            FlowStepDTO flowStep = new FlowStepDTO("Lavado");

            zone.FlowStep = flowStep;

            var mockZoneDAO    = new Mock <ZoneDAO>();
            var mockFlowDAO    = new Mock <FlowDAO>();
            var mockVehicleDAO = new Mock <VehicleDAO>();

            mockFlowDAO.Setup(f => f.IsStepAvailable(flowStep)).Returns(true);

            var zoneService = new ZoneServiceImp(mockZoneDAO.Object, mockFlowDAO.Object, mockVehicleDAO.Object);

            zoneService.AddZone(zone);
        }
Exemple #7
0
        public void AssignVehicleOutOfCapacityTest()
        {
            ZoneDTO zone = new ZoneDTO();

            zone.Name        = "Zona 1";
            zone.MaxCapacity = 60;
            zone.Id          = Guid.NewGuid();
            zone.IsSubZone   = true;

            VehicleDTO vehicle = new VehicleDTO();

            vehicle.Brand = "Chevrolet";
            vehicle.Model = "Onyx";
            vehicle.Year  = 2016;
            vehicle.Color = "Gris";
            vehicle.Type  = "Auto";
            vehicle.Vin   = "TEST1234";
            vehicle.Id    = Guid.NewGuid();

            List <VehicleDTO> vehicles = new List <VehicleDTO>();

            vehicles.Add(vehicle);
            zone.Vehicles = vehicles;

            var mockZoneDAO    = new Mock <ZoneDAO>();
            var mockFlowDAO    = new Mock <FlowDAO>();
            var mockVehicleDAO = new Mock <VehicleDAO>();

            mockZoneDAO.Setup(z => z.FindZoneById(zone.Id)).Returns(zone);
            mockZoneDAO.Setup(z => z.GetVehicleCapacityLeft(zone.Id)).Returns(0);
            mockZoneDAO.Setup(z => z.AssignVehicle(zone.Id, vehicle.Vin)).Verifiable();

            var zoneService = new ZoneServiceImp(mockZoneDAO.Object, mockFlowDAO.Object, mockVehicleDAO.Object);

            zoneService.AssignVehicle(zone.Id, vehicle.Vin);
        }
Exemple #8
0
        public void CreateSubZoneSuccessfullyTest()
        {
            ZoneDTO zone = new ZoneDTO();

            zone.Name        = "Zona 1";
            zone.MaxCapacity = 60;
            zone.IsSubZone   = true;
            zone.Id          = Guid.NewGuid();
            FlowStepDTO flowStep = new FlowStepDTO("Lavado");

            zone.FlowStep = flowStep;

            var     mockZoneDAO = new Mock <ZoneDAO>();
            ZoneDTO mockZone    = new ZoneDTO();

            mockZone.Name        = "Zona 1";
            mockZone.MaxCapacity = 60;
            mockZone.IsSubZone   = true;
            mockZone.FlowStep    = new FlowStepDTO("Lavado");
            mockZoneDAO.Setup(z => z.FindZoneById(zone.Id)).Returns(mockZone);

            var mockFlowDAO    = new Mock <FlowDAO>();
            var mockVehicleDAO = new Mock <VehicleDAO>();

            mockFlowDAO.Setup(f => f.IsStepAvailable(flowStep)).Returns(false);

            var zoneService = new ZoneServiceImp(mockZoneDAO.Object, mockFlowDAO.Object, mockVehicleDAO.Object);

            zoneService.AddZone(zone);
            ZoneDTO resultZone = zoneService.FindZoneById(zone.Id);

            Assert.AreEqual(zone.Name, resultZone.Name);
            Assert.AreEqual(zone.MaxCapacity, resultZone.MaxCapacity);
            Assert.AreEqual(zone.IsSubZone, resultZone.IsSubZone);
            Assert.AreEqual(zone.FlowStep.Name, resultZone.FlowStep.Name);
        }