# coding: utf-8

"""
    Metal API

    The version of the OpenAPI document: 1.0.0
    Contact: support@equinixmetal.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from equinix.services.metalv1.models.invoice import Invoice

class TestInvoice(unittest.TestCase):
    """Invoice unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> Invoice:
        """Test Invoice
            include_option 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 `Invoice`
        """
        model = Invoice()
        if include_optional:
            return Invoice(
                amount = 1.337,
                balance = 1.337,
                created_on = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(),
                credit_amount = 1.337,
                credits_applied = 1.337,
                currency = 'USD',
                due_on = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(),
                href = '',
                id = '',
                items = [
                    equinix.services.metalv1.models.line_item.LineItem(
                        adjustments = [
                            equinix.services.metalv1.models.line_item_adjustment.LineItemAdjustment(
                                amount = 1.337, 
                                description = '', 
                                href = '', )
                            ], 
                        amount = 1.337, 
                        currency = '', 
                        description = '', 
                        details = '', 
                        end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), 
                        hostname = '', 
                        href = '', 
                        item_type = '', 
                        location = '', 
                        plan = equinix.services.metalv1.models.plan_id_name.PlanIdName(
                            href = '', 
                            id = '', 
                            name = '', ), 
                        plan_id = '', 
                        project = equinix.services.metalv1.models.project_id_name.ProjectIdName(
                            href = '', 
                            id = '', 
                            name = '', ), 
                        project_id = '', 
                        service_id = '', 
                        start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), 
                        unit = '', 
                        unit_price = 1.337, )
                    ],
                number = '',
                project = equinix.services.metalv1.models.project_id_name.ProjectIdName(
                    href = '', 
                    id = '', 
                    name = '', ),
                reference_number = '',
                status = '',
                target_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date()
            )
        else:
            return Invoice(
        )
        """

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

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