# coding: utf-8

"""
    Neurograph Core

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 1.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from neurograph.v1.models.reporting_persona_product_affinity_response import ReportingPersonaProductAffinityResponse

class TestReportingPersonaProductAffinityResponse(unittest.TestCase):
    """ReportingPersonaProductAffinityResponse unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> ReportingPersonaProductAffinityResponse:
        """Test ReportingPersonaProductAffinityResponse
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `ReportingPersonaProductAffinityResponse`
        """
        model = ReportingPersonaProductAffinityResponse()
        if include_optional:
            return ReportingPersonaProductAffinityResponse(
                cached = True,
                category_performance = neurograph.v1.models.reporting/category_performance_data.reporting.CategoryPerformanceData(
                    categories = [
                        neurograph.v1.models.reporting/category_performance_row.reporting.CategoryPerformanceRow(
                            avg_spend = 1.337, 
                            category_name = '', 
                            conversion_rate = 1.337, 
                            engagement_level = '', 
                            is_top_category = True, 
                            purchases = 56, 
                            relative_performance = 1.337, )
                        ], 
                    displayed_categories = 56, 
                    total_categories = 56, ),
                category_spend = neurograph.v1.models.reporting/category_spend_data.reporting.CategorySpendData(
                    categories = [
                        ''
                        ], 
                    data = [
                        neurograph.v1.models.reporting/category_spend_week.reporting.CategorySpendWeek(
                            spend = {
                                'key' : 1.337
                                }, 
                            week = '', )
                        ], 
                    period_comparison = neurograph.v1.models.reporting/period_comparison.reporting.PeriodComparison(
                        change_percentage = 1.337, 
                        current_period_spend = 1.337, 
                        previous_period_spend = 1.337, 
                        trend = '', ), 
                    total_spend = 1.337, 
                    weeks = [
                        ''
                        ], ),
                error = '',
                meta = neurograph.v1.models.reporting/affinity_meta.reporting.AffinityMeta(
                    client_partition_key = '', 
                    client_uid = '', 
                    data_date = '', 
                    generated_at = '', 
                    organization_uid = '', 
                    persona_id = '', ),
                price_tolerance = neurograph.v1.models.reporting/price_tolerance_data.reporting.PriceToleranceData(
                    price_distribution = [
                        neurograph.v1.models.reporting/price_bucket.reporting.PriceBucket(
                            is_top_bucket = True, 
                            order_count = 56, 
                            percentage = 1.337, 
                            price_bucket = '', 
                            price_bucket_label = '', )
                        ], 
                    willingness_to_pay_premium = '', ),
                product_performance = neurograph.v1.models.reporting/product_performance_data.reporting.ProductPerformanceData(
                    products = [
                        neurograph.v1.models.reporting/product_performance_row.reporting.ProductPerformanceRow(
                            affinity_score = 1.337, 
                            affinity_tier = '', 
                            avg_spend = 1.337, 
                            conversion_rate = 1.337, 
                            engagement_score = 1.337, 
                            product_handle = '', 
                            product_name = '', 
                            product_type = '', 
                            purchases = 56, )
                        ], 
                    total_products = 56, ),
                purchase_cycle = neurograph.v1.models.reporting/purchase_cycle_data.reporting.PurchaseCycleData(
                    new_customers = neurograph.v1.models.reporting/customer_cycle_metrics.reporting.CustomerCycleMetrics(
                        count = 56, 
                        cycle_days = 56, 
                        display_value = '', 
                        median_days = 56, 
                        tiers = neurograph.v1.models.reporting/cycle_tiers.reporting.CycleTiers(
                            fast = 56, 
                            slow = 56, 
                            typical = 56, ), ), 
                    returning_customers = neurograph.v1.models.reporting/customer_cycle_metrics.reporting.CustomerCycleMetrics(
                        count = 56, 
                        cycle_days = 56, 
                        display_value = '', 
                        median_days = 56, ), 
                    summary = neurograph.v1.models.reporting/cycle_summary.reporting.CycleSummary(
                        categories = neurograph.v1.models.reporting/category_summary.reporting.CategorySummary(
                            engaged = 56, 
                            total = 56, ), 
                        last_purchase_days_ago = 56, 
                        total_customers = 56, ), ),
                purchase_timing = neurograph.v1.models.reporting/purchase_timing_data.reporting.PurchaseTimingData(
                    peak_shopping_time = '', 
                    timing_distribution = [
                        neurograph.v1.models.reporting/timing_bucket.reporting.TimingBucket(
                            is_peak = True, 
                            order_count = 56, 
                            percentage = 1.337, 
                            timing_bucket = '', )
                        ], ),
                query_time_ms = 56
            )
        else:
            return ReportingPersonaProductAffinityResponse(
        )
        """

    def testReportingPersonaProductAffinityResponse(self):
        """Test ReportingPersonaProductAffinityResponse"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()
