private async Task <SoftwareResponse> CreatedDefaultSoftware()
        {
            CreateSoftwareRequest hardware = SoftwareComponentsValues.CreateSoftwareRequestBasic();
            var request = AutomapperSingleton.Mapper.Map <SoftwareResponse>(hardware);

            IActionResult actionResult = await CreateSoftware(hardware);

            ObjectResult objectResult = actionResult is ObjectResult ? actionResult as ObjectResult : null;

            if (objectResult != null && objectResult.Value is Guid)
            {
                var identifier = objectResult.Value as Guid?;

                if (identifier.HasValue)
                {
                    request.Id = identifier.Value;
                }
                else
                {
                    Assert.Fail("Return value isn't a identifier valid");
                }
            }
            else
            {
                Assert.Fail("Imposible create default record");
            }

            return(request);
        }
        public async Task TestDeleteSoftware(DeleteSoftwareByIdRequest delcom, ObjectResult resultAction, bool elementCreated = false)
        {
            Guid createdtransactionId = SoftwareComponentsValues.GetSoftwareAviability();

            delcom.Id = elementCreated == true ? createdtransactionId : delcom.Id;

            HttpResponseMessage actionResult = await _softwareAPI.DeleteHardware(delcom);

            base.CheckAssert(actionResult, resultAction);
        }
        public async Task TestGetSoftware(GetSoftwareByIdRequest com, ObjectResult resultAction, bool elementCreated = false)
        {
            Guid createdcompanyId = SoftwareComponentsValues.GetSoftwareAviability();

            com.Id = elementCreated == true ? createdcompanyId : com.Id;

            HttpResponseMessage actionResult = await _softwareAPI.GetSoftwareById(com);

            base.CheckAssert(actionResult, resultAction);
        }
        public async Task TestUpdateSoftware(UpdateSoftwareRequest obj, ObjectResult resultAction, bool elementCreated = false)
        {
            var createdcompanyId = SoftwareComponentsValues.GetSoftwareAviability();

            obj.Id = elementCreated == true ? createdcompanyId : obj.Id;

            HttpResponseMessage actionResult = await _softwareAPI.UpdateSoftware(obj);

            base.CheckAssert(actionResult, resultAction);
        }