public async Task GetGenderCategories_Error()
        {
            var errorInitial            = ErrorData.DatabaseError;
            var genderCategoryEntities  = GenderEntitiesData.GenderCategoryEntities;
            var genderResult            = new ResultCollection <GenderEntity>(errorInitial);
            var categoryEntities        = CategoryEntitiesData.CategoryEntities;
            var clothesTypeEntities     = ClothesTypeEntitiesData.ClothesTypeEntities;
            var categoryWithGenders     = CategoryEntitiesData.GetCategoryEntitiesWithGenders(categoryEntities, genderCategoryEntities);
            var clothesTypeWithCategory = ClothesTypeEntitiesData.GetClothesTypeEntitiesWithCategory(clothesTypeEntities, categoryEntities.First());
            var genderTable             = GenderTableMock.GetGenderTable(genderResult);
            var categoryTable           = CategoryTableMock.GetCategoryTable(categoryWithGenders);
            var clothesTypeTable        = ClothesTypeTableMock.GetClothesTypeTable(clothesTypeWithCategory);
            var database = GetDatabase(genderTable.Object, categoryTable, clothesTypeTable);
            var genderEntityConverter         = GenderEntityConverterMock.GenderEntityConverter;
            var genderCategoryEntityConverter = GenderEntityConverterMock.GenderCategoryEntityConverter;
            var genderDatabaseService         = new GenderDatabaseService(database.Object,
                                                                          GetDatabaseValidationService(genderTable.Object),
                                                                          genderEntityConverter,
                                                                          genderCategoryEntityConverter);

            var genderResults = await genderDatabaseService.GetGenderCategories();

            Assert.True(genderResults.HasErrors);
            Assert.Equal(errorInitial.ErrorResultType, genderResults.Errors.First().ErrorResultType);
        }
        public async Task GetGenderCategories_Ok()
        {
            var genderCategoryEntities  = GenderEntitiesData.GenderCategoryEntities;
            var categoryEntities        = CategoryEntitiesData.CategoryEntities;
            var clothesTypeEntities     = ClothesTypeEntitiesData.ClothesTypeEntities;
            var categoryWithGenders     = CategoryEntitiesData.GetCategoryEntitiesWithGenders(categoryEntities, genderCategoryEntities);
            var clothesTypeWithCategory = ClothesTypeEntitiesData.GetClothesTypeEntitiesWithCategory(clothesTypeEntities, categoryEntities.First());
            var genderTable             = GenderTableMock.GetGenderTable(genderCategoryEntities);
            var categoryTable           = CategoryTableMock.GetCategoryTable(categoryWithGenders);
            var clothesTypeTable        = ClothesTypeTableMock.GetClothesTypeTable(clothesTypeWithCategory);
            var database = GetDatabase(genderTable, categoryTable, clothesTypeTable);
            var genderEntityConverter         = GenderEntityConverterMock.GenderEntityConverter;
            var genderCategoryEntityConverter = GenderEntityConverterMock.GenderCategoryEntityConverter;
            var genderDatabaseService         = new GenderDatabaseService(database.Object,
                                                                          GetDatabaseValidationService(genderTable),
                                                                          genderEntityConverter,
                                                                          genderCategoryEntityConverter);

            var genderResults = await genderDatabaseService.GetGenderCategories();

            var gendersDomains = genderCategoryEntityConverter.FromEntities(genderCategoryEntities);

            Assert.True(genderResults.OkStatus);
            Assert.True(genderResults.Value.SequenceEqual(gendersDomains.Value));
        }