# pylint: disable=too-many-public-methods


from risc_generator import FPQ1Contract
from risc_generator.content.fr.endorsements.endorsement_header import generate_endorsement_page_header_text
from tests.domain.contract.contract_base import ContractTestBase


class EndorsementTextFRTest(ContractTestBase):
    def setUp(self) -> None:
        self.fpq1_contract = FPQ1Contract(
            client_number=self.a_client_number,
            contract_start_date=self.a_contract_start_date,
            insuree=self.a_insuree,
            vehicle=self.a_vehicle,
            payment_method=self.a_pre_authorize_payment_method,
            protections=self.a_protections,
            premium=self.a_premium_mock,
            financing=self.a_creditor,
            locale=self.a_fr_locale,
        )

        self.maxDiff = None

    def test_endorsement_page_header_text(self):
        actual = generate_endorsement_page_header_text()

        expected = "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"

        self.assertEqual(expected, actual)

    def test_faq5a_text(self):
        actual = self.fpq1_contract.generate_faq5a_endorsement_text()

        new_page = "<###NEW_PAGE###>"
        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 5a\n"
            "Véhicules loués ou pris en crédit-bail\n"
            "Modifications\n"
            "lorsque le propriétaire et un locataire ou crédit-preneur\n"
            "sont désignés comme assurés\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat d'assurance.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant modifie le contrat d'assurance :\n"
            "\t lorsque le véhicule visé est loué ou pris en crédit-bail; et\n"
            "\t lorsque le propriétaire et un locataire ou crédit-preneur de ce véhicule sont désignés comme "
            "assurés au contrat d'assurance.\n"
            "L'expression « assuré désigné » est alors remplacée par « locataire désigné » ou, selon le cas, "
            "par « crédit-preneur désigné », dans la définition des « véhicules assurés » suivants :\n"
            "\t Véhicule dont l'assuré désigné est nouvellement propriétaire.\n"
            "\t Véhicule de remplacement temporaire.\n"
            "\t Véhicule dont l'assuré désigné n'est pas propriétaire.\n"
            "\t Remorque ou semi-remorque dont l'assuré désigné est propriétaire.\n"
            "\t Remorque ou semi-remorque dont l'assuré désigné n'est pas propriétaire et qui est "
            "utilisée avec un véhicule assuré au contrat d'assurance.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq16_text(self):
        actual = self.fpq1_contract.generate_faq16_endorsement_text()

        new_page = "<###NEW_PAGE###>"
        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 16\n"
            "Suspension de garanties lors du remisage du véhicule\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à cette "
            "section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N : \n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Date du remisage : à 0 h 01, heure normale à l'adresse de l'assuré désigné\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant suspend certaines garanties du contrat d'assurance en raison du remisage du véhicule visé.\n"
            "Suspension des garanties\n"
            "L'assuré désigné déclare que le véhicule visé sera retiré de la circulation et remisé à la date du "
            "remisage. Il demande donc qu'à partir de cette date, les garanties suivantes soient suspendues :\n"
            "1. Garanties suspendues au chapitre A\n"
            "Les garanties du chapitre A du contrat d'assurance sont suspendues en ce qui concerne la conduite ou "
            "l'usage des véhicules suivants :\n"
            "\t le véhicule visé;\n"
            "\t tout véhicule dont l'assuré désigné est nouvellement propriétaire qui remplace le véhicule "
            "visé ou qui s'y ajoute;\n"
            "\t tout véhicule de remplacement temporaire qui remplace le véhicule visé.\n"
            "L'assuré désigné continue de bénéficier des autres garanties du chapitre A.\n"
            "2. Garanties suspendues au chapitre B\n"
            "Les garanties des Protections 1 et 2 du chapitre B du contrat d'assurance sont suspendues en ce qui "
            "concerne la conduite des véhicules suivants :\n"
            "\t le véhicule visé;\n"
            "\t tout véhicule dont l'assuré désigné est nouvellement propriétaire qui remplace le véhicule "
            "visé ou qui s'y ajoute;\n"
            "\t tout véhicule de remplacement temporaire qui remplace le véhicule visé.\n"
            "L'assuré désigné continue de bénéficier des autres garanties du chapitre B.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Fin de la suspension des garanties\n"
            "Les garanties suspendues sont remises en vigueur à l'une des dates suivantes :\n"
            "\t à la date déterminée par l'assuré désigné, à condition qu'il en ait d'abord informé l'assureur;\n"
            "si aucune date n'est ainsi déterminée, au 1er avril qui suit la date du remisage.\n"
            "Le contrat d'assurance doit être en vigueur pour que les garanties puissent être remises en vigueur.\n"
            "Ristourne\n"
            "L'assuré désigné a droit à une ristourne pour la période de remisage, calculée sur la base suivante :\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq20a_text(self):
        actual = self.fpq1_contract.generate_faq20a_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 20a\n"
            "Frais de déplacement (formule étendue)\n"
            "(Chapitre B)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur :  \n"
            "Nom de l'assuré désigné :  \n"
            "Avenant à la police d'assurance automobile N :  \n"
            "Date de prise d'effet : cet avenant s'applique à partir du  à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant étend les garanties du chapitre B du contrat d'assurance, en remplaçant le texte "
            "de la garantie additionnelle 4.1 intitulée « Frais de déplacement en cas de vol d'un véhicule assuré » "
            "par le texte ci-dessous.\n"
            "Cet avenant s'applique uniquement au véhicule visé et seulement si la valeur des dommages subis "
            "parle véhicule visé est supérieure à la franchise applicable au sinistre qui les a causés.\n"
            "« 4.1 Frais de déplacement\n"
            "4.1.1 Description des frais de déplacement\n"
            "Si l'assuré désigné ne peut plus utiliser le véhicule assuré en raison d'un sinistre couvert, "
            "l'assureur lui rembourse les frais suivants :\n"
            "\t les frais de location pour un véhicule de remplacement temporaire;\n"
            "\t les frais de taxi;\n"
            "\t les frais de transport en commun.\n"
            "Sur production des reçus de paiement, ces frais sont remboursés jusqu'à un montant maximum "
            "de  $ par jour et de  $ par sinistre et par véhicule assuré.\n"
            "Ces montants ne peuvent pas être inférieurs aux montants qui étaient écrits à la garantie "
            "additionnelle 4.1 du contrat d'assurance.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "4.1.2 Application de la garantie\n"
            "Si le véhicule assuré a été volé en entier, cette garantie s'applique uniquement aux frais engagés "
            "à partir de 0 h 01 le lendemain de la déclaration de vol à la police ou à l'assureur.\n"
            "Pour tous les autres sinistres couverts, cette garantie s'applique uniquement aux frais engagés :\n"
            "\t dès le moment où le véhicule assuré ne peut plus rouler en raison des dommages qu'il a "
            "subis; ou\n"
            "\t s'il est encore en état de rouler malgré les dommages subis, dès le moment où il est "
            "confié à un réparateur.\n"
            "Les frais sont remboursables malgré l'expiration du contrat d'assurance depuis le sinistre.\n"
            "Ces frais cessent d'être remboursés :\n"
            "\t lorsque le véhicule assuré est remplacé ou réparé; ou\n"
            "\t lorsqu'une entente sur le règlement du sinistre est conclue avant que le véhicule "
            "assuré soit remplacé ou réparé.\n"
            "4.1.3 Autres frais couverts au cours d'un voyage\n"
            "Lorsqu'un sinistre couvert survient au cours d'un voyage, les frais décrits aux paragraphes a) "
            "et b) ci-dessous sont couverts, en plus des frais énumérés au paragraphe 4.1.1.\n"
            "Ces frais sont couverts jusqu'à un maximum de ……… % du montant maximum payable par "
            "sinistre écrit au paragraphe 4.1.1.\n"
            "a) Tout frais de déplacement supplémentaire de l'assuré désigné, son conjoint ou toute "
            "autre personne ayant le même domicile qu'eux, engagé pour :\n"
            "\t qu'ils poursuivent le voyage;\n"
            "\t qu'ils reviennent au domicile de l'assuré désigné;\n"
            "\t qu'ils reviennent à l'endroit où le véhicule assuré est habituellement stationné.\n"
            "Ces frais supplémentaires incluent, entre autres, les frais de repas et d'hébergement, "
            "ainsi que les frais de transport d'effets personnels.\n"
            "b) Tout autre frais supplémentaire de même nature que ceux décrits au paragraphe a), "
            "engagé pour récupérer le véhicule assuré à l'endroit où il est réparé, et pour le ramener à "
            "l'un des endroits suivants :\n"
            "\t à l'endroit où se trouve l'assuré désigné, son conjoint ou toute personne ayant le "
            "même domicile qu'eux. Par contre, si cet endroit est plus éloigné que la destination "
            "de voyage qui avait été prévue avant le sinistre, seuls les frais requis pour ramener "
            "le véhicule assuré à cette destination prévue sont couverts;\n"
            "\t au domicile de l'assuré désigné; ou\n"
            "\t à l'endroit où le véhicule assuré est habituellement stationné.\n"
            "Ces frais doivent avoir été engagés par l'assuré désigné, son conjoint, toute autre "
            "personne ayant le même domicile qu'eux ou toute personne de leur choix. »\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq20_text(self):
        actual = self.fpq1_contract.generate_faq20_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 20\n"
            "Frais de déplacement\n"
            "(Chapitre B)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur :  \n"
            "Nom de l'assuré désigné :  \n"
            "Avenant à la police d'assurance automobile N :  \n"
            "Date de prise d'effet : cet avenant s'applique à partir du  à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Prime d'assurance additionnelle à payer :\n"
            "\t Montants à payer :  \n"
            "\t Date limite pour payer :  \n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant étend les garanties du chapitre B du contrat d'assurance, en remplaçant le texte de la "
            "garantie additionnelle 4.1 intitulée « Frais de déplacement en cas de vol d'un véhicule assuré », "
            "par le texte ci-dessous.\n"
            "Cet avenant s'applique uniquement au véhicule visé et seulement si la valeur des dommages subis par "
            "le véhicule visé est supérieure à la franchise applicable au sinistre qui les a causés.\n"
            "« 4.1 Frais de déplacement\n"
            "4.1.1 Description des frais de déplacement\n"
            "Si l'assuré désigné ne peut plus utiliser le véhicule assuré en raison d'un sinistre couvert, "
            "l'assureur lui rembourse les frais suivants :\n"
            "\t les frais de location pour un véhicule de remplacement temporaire;\n"
            "\t les frais de taxi;\n"
            "\t les frais de transport en commun.\n"
            "Sur production des reçus de paiement, ces frais sont remboursés jusqu'à un montant maximum "
            "de $ par jour et de $ par sinistre et par véhicule assuré.\n"
            "Ces montants ne peuvent pas être inférieurs aux montants qui étaient écrits à la garantie "
            "additionnelle 4.1 du contrat d'assurance.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "4.1.2 Application de la garantie\n"
            "Si le véhicule assuré a été volé en entier, cette garantie s'applique uniquement aux frais engagés "
            "à partir de 0 h 01 le lendemain de la déclaration de vol à la police ou à l'assureur.\n"
            "Pour tous les autres sinistres couverts, cette garantie s'applique uniquement aux frais engagés :\n"
            "\t dès le moment où le véhicule assuré ne peut plus rouler en raison des dommages qu'il a subis; ou\n"
            "\t s'il est encore en état de rouler malgré les dommages subis, dès le moment où il est "
            "confié à un réparateur.\n"
            "Les frais sont remboursables malgré l'expiration du contrat d'assurance depuis le sinistre.\n"
            "Ces frais cessent d'être remboursés :\n"
            "\t lorsque le véhicule assuré est remplacé ou réparé; ou\n"
            "\t lorsqu'une entente sur le règlement du sinistre est conclue avant que le véhicule "
            "assuré soit remplacé ou réparé. »\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq23a_text(self):
        actual = self.fpq1_contract.generate_faq23a_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 23a\n"
            "Préavis au créancier\n"
            "(Chapitre B)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat d'assurance.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Nom du créancier :  \n"
            "Adresse du créancier :  \n"
            "Avenant à la police d'assurance automobile N : \n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant modifie le chapitre B du contrat d'assurance en y ajoutant l'obligation suivante :\n"
            "\t L'assureur doit donner au créancier un préavis d'au moins 15 jours avant de résilier ou de "
            "modifier une garantie du chapitre B.\n"
            "\t Il doit le faire seulement si le fait de résilier ou de modifier la garantie désavantage le "
            "créancier.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq25_text(self):
        actual = self.fpq1_contract.generate_faq25_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 25\n"
            "Modification aux Conditions particulières\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N : \n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Cet avenant ne peut d'aucune façon être utilisé pour modifier le texte standard du contrat "
            "d'assurance approuvé par l'Autorité des marchés financiers.\n"
            "Description de l'avenant\n"
            "Cet avenant apporte les modifications suivantes aux informations écrites à la "
            "section « Conditions particulières » du contrat d'assurance :\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq31_text(self):
        actual = self.fpq1_contract.generate_faq31_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 31\n"
            "Équipement n'appartenant pas à l'assuré désigné\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N : \n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant étend les garanties du contrat d'assurance à l'équipement suivant, dont "
            "l'assuré désigné n'est pas propriétaire :\n"
            "Conditions d'application\n"
            "L'équipement doit être normalement fixé au véhicule visé. De plus, l'assuré désigné doit "
            "avoir un pouvoir de direction ou de gestion sur cet équipement, ou en avoir la garde.\n"
            "1. Application au chapitre A\n"
            "La garantie du chapitre A est étendue aux conséquences financières que peut "
            "subir la personne assurée lorsqu'elle est civilement responsable d'un dommage causé à une "
            "autre personne du fait de l'équipement décrit ci-dessus.\n"
            "2. Application au chapitre B\n"
            "La garantie du chapitre B applicable au véhicule visé est étendue :\n"
            "\t aux dommages directs et accidentels causés à l'équipement décrit ci-dessus;\n"
            "\t à la disparition de cet équipement.\n"
            "Pour le chapitre B, l'indemnité est payable jusqu'à concurrence de la « valeur au jour du "
            "sinistre » de l'équipement et pour un montant maximum de $. Elle est payable "
            "conjointement à l'assuré désigné et à  selon leurs intérêts respectifs.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq41_text(self):
        actual = self.fpq1_contract.generate_faq41_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 41\n"
            "Modification aux franchises\n"
            "(Chapitre B)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N : \n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant apporte les modifications suivantes aux franchises du chapitre B, écrites à l'article "
            "4 de la section « Conditions particulières » du contrat d'assurance :\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq43_text(self):
        actual = self.fpq1_contract.generate_faq43_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 43 (A à F)\n"
            "Modification à l'indemnisation\n"
            "(Chapitre B)\n"
            "Le titre de l'avenant et les options applicables doivent être écrits à la section « Conditions "
            "particulières » du contrat d'assurance. Quant aux informations requises dans l'avenant, elles "
            "peuvent être écrites à cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N : \n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Prime d'assurance additionnelle à payer :\n"
            "\t Montants à payer : \n"
            "\t Date limite pour payer :\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant étend les garanties du chapitre B du contrat d'assurance en modifiant, selon "
            "les options applicables, l'article 2 de la section « Déclarer un sinistre et faire une "
            "réclamation ».\n"
            "Les modifications apportées par ces options visent la façon dont la valeur des dommages "
            "est déterminée.\n"
            "APPLICATION DE L'AVENANT\n"
            "Pour que les options s'appliquent au véhicule visé, elles doivent être écrites à la section "
            "« Conditions particulières » du contrat d'assurance.\n"
            "Sauf pour l'option 43C, l'assuré désigné peut choisir d'être indemnisé selon l'article 2 "
            "de la section « Déclarer un sinistre et faire une réclamation », sans que l'option choisie ne "
            "soit appliquée. Il doit alors en faire la demande à l'assureur.\n"
            "La franchise écrite à la section « Conditions particulières » pour le véhicule visé demeure à "
            "la charge de l'assuré désigné.\n"
            "VALEUR DES DOMMAGES EN CAS DE PERTE PARTIELLE\n"
            "Les options 43A et 43B visent à déterminer la valeur des dommages payable par l'assureur "
            "en cas de réparation ou de remplacement de pièces endommagées.\n"
            "Ces options modifient l'article 2.1 de la section « Déclarer un sinistre et faire une "
            "réclamation ». Par contre, les règles énoncées au premier paragraphe de l'article 2.1.1 "
            "de cette section demeurent applicables.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Option 43A – Perte partielle- Pièces neuves\n"
            "En cas de perte partielle, lorsque les pièces endommagées peuvent être réparées, la valeur "
            "des dommages est déterminée selon l'article 2.1 de la section « Déclarer un sinistre et faire "
            "une réclamation ». Par contre, aucune déduction pour la dépréciation ne s'applique.\n"
            "Si l'assureur détermine que des pièces endommagées ne peuvent pas être réparées et qu'elles "
            "doivent être remplacées, aucune déduction pour la dépréciation ne s'applique. De plus :\n"
            "\t la valeur des dommages est déterminée selon le coût des pièces d'origine du fabriquant neuves;\n"
            "\t si c'est une vitre qui est endommagée, l'assuré désigné peut demander qu'elle soit "
            "remplacée par une pièce d'origine du fabriquant neuve ou par une pièce similaire neuve.\n"
            "Si une pièce neuve n'est pas disponible ou qu'elle n'est plus fabriquée, l'assureur n'est tenu qu'au "
            "dernier prix courant de la pièce d'origine du fabricant neuve.\n"
            "Si les pièces endommagés ne sont ni réparées ni remplacées par des pièces neuves, l'option "
            "43A ne s'applique pas.\n"
            "Option 43B – Perte partielle – Indemnisation sans dépréciation\n"
            "En cas de perte partielle, la valeur des dommages est déterminée selon l'article 2.1 de "
            "la section « Déclarer un sinistre et faire une réclamation ». Par contre, si l'assureur "
            "détermine qu'une dépréciation doit être appliquée à la valeur des dommages, cette option "
            "couvrira cette dépréciation jusqu'à un montant maximum de  $ par sinistre.\n"
            "Par contre, si les pièces endommagés ne sont ni réparées ni remplacées, l'option 43B ne "
            "s'applique pas.\n"
            "VALEUR DES DOMMAGES EN CAS DE PERTE TOTALE OU RÉPUTÉE TOTALE\n"
            "Les options 43C, 43D, 43E et 43F visent à déterminer la valeur des dommages payable "
            "par l'assureur en cas de perte totale ou réputée totale. Ces options modifient l'article "
            "2.2 de la section « Déclarer un sinistre et faire une réclamation ».\n"
            "Option 43C – Perte totale - Valeur du véhicule convenue d'avance\n"
            "En cas de perte totale ou réputée totale, l'assuré désigné et l'assureur conviennent "
            "que la valeur du véhicule visé, au jour du sinistre, sera de :  $. "
            "(Il s'agit de la « valeur agréée ».)\n"
            "Option 43D – Perte totale - Indemnisation sans dépréciation\n"
            "En cas de perte totale ou réputée totale, la valeur des dommages équivaut au moins élevé "
            "des montants suivants :\n"
            "\t le prix payé pour le véhicule visé par l'assuré désigné qui en est le propriétaire réel;\n"
            "\t le prix courant du véhicule visé au jour de son achat;\n"
            "\t le prix auquel l'assureur peut, au jour du sinistre, acheter un véhicule neuf "
            "ayant des caractéristiques, équipements et accessoires semblables à ceux du véhicule visé.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            f"Option 43E – Perte totale - Indemnisation selon la valeur de remplacement du véhicule\n"
            f"En cas de perte totale ou réputée totale, l'assuré désigné a le choix entre les trois "
            f"types d'indemnisation suivants :\n"
            f"1. Remplacement par un véhicule neuf\n"
            f"Si le véhicule visé est remplacé par un véhicule neuf ayant les mêmes caractéristiques, "
            f"équipements et accessoires, la valeur des dommages équivaut au prix de ce dernier véhicule.\n"
            f"Si un tel véhicule n'est pas disponible et que le remplacement se fait plutôt par un véhicule "
            f"neuf ayant des caractéristiques, équipements et accessoires semblables, la valeur des dommages "
            f"équivaut au prix de ce dernier véhicule.\n"
            f"2. Remplacement par un véhicule usagé, ou par un véhicule neuf autre que celui du paragraphe 1.\n"
            f"Si le véhicule visé est remplacé par un véhicule usagé, ou par un véhicule neuf autre que celui du "
            f"paragraphe 1, la valeur des dommages équivaut au plus élevé des montants suivants :\n"
            f"\t le prix payé pour le véhicule visé par l'assuré désigné qui en est le propriétaire réel;\n"
            f"\t le prix du véhicule usagé ou neuf qui remplace le véhicule visé.\n"
            f"Par contre, la valeur des dommages ne peut jamais dépasser le prix que l'assureur aurait payé si "
            f"le paragraphe 1 avait été appliqué.\n"
            f"3. Aucun remplacement du véhicule visé\n"
            f"Si le véhicule visé n'est pas remplacé, la valeur des dommages équivaut au moins élevé des "
            f"montants suivants :\n"
            f"\t le prix payé pour le véhicule visé par l'assuré désigné qui en est le propriétaire réel;\n"
            f"\t le prix courant du véhicule visé au jour de son achat.\n"
            f"Par contre, la valeur des dommages ne peut jamais dépasser le prix que l'assureur aurait payé si "
            f"le paragraphe 1 avait été appliqué.\n"
            f"Option 43F – Perte totale - Augmentation de l'indemnité\n"
            f"En cas de perte totale ou réputée totale, la valeur des dommages équivaut :\n"
            f"\t A – au prix payé pour le véhicule visé par l'assuré désigné qui en est le propriétaire réel, "
            f"augmenté de % composé annuellement et calculé en proportion du nombre de jours "
            f"écoulés entre le  (date) et la date du sinistre;\n"
            f"ou\n"
            f"\t B – au montant de  $ augmenté de  % composé annuellement et calculé en "
            f"proportion du nombre de jours écoulés entre le  (date) et la date du sinistre;\n"
            f"ou\n"
            f"\t C – à la « valeur au jour du sinistre » du véhicule visé augmentée de  % composé "
            f"annuellement et calculée en proportion du nombre de jours écoulés entre le "
            f" (date) et la date du sinistre;\n"
            f"ou\n"
            f"\t D – à la « valeur au jour du sinistre » du véhicule visé augmentée de  $.\n"
            f"Dans tous les cas, la valeur des dommages ne peut jamais dépasser le prix auquel l'assureur peut, au "
            f"jour du sinistre, acheter un véhicule neuf ayant des caractéristiques, équipements et accessoires "
            f"semblables à ceux du véhicule visé.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "RÈGLE PARTICULIÈRE POUR LE VÉHICULE LOUÉ OU PRIS EN CRÉDIT-BAIL\n"
            "Lorsque le véhicule visé est loué ou pris en crédit-bail, que les options 43D, 43E ou 43F s'appliquent "
            "et que le propriétaire et le locataire ou crédit-preneur sont désignés au contrat d'assurance, seul le "
            "locataire ou le crédit-preneur a droit à la différence entre :\n"
            "\t la valeur du véhicule visé, déterminée selon l'option applicable; et\n"
            "\t la « valeur au jour du sinistre » du véhicule visé, déterminée selon l'article 2.2 de la "
            "section « Déclarer un sinistre et faire une réclamation ».\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq19_text(self):
        actual = self.fpq1_contract.generate_faq19_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 19\n"
            "Limitation de l'indemnité\n"
            "(Chapitre B)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant limite l'indemnité payable du chapitre B du contrat d'assurance au moins élevé des "
            "montants suivants :\n"
            "\t la « valeur au jour du sinistre » du véhicule visé.\n"
            "\t $.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq9_text(self):
        actual = self.fpq1_contract.generate_faq9_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 9\n"
            "Exclusion du risque maritime pour les véhicules amphibies\n"
            "Modifications\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat d'assurance.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Un véhicule amphibie est un véhicule conçu ou modifié pour:\n"
            "\t se déplacer sur la terre, et\n"
            "\t naviguer sur l'eau.\n"
            "Si le véhicule visé est un véhicule amphibie, cet avenant exclut du contrat d'assurance les sinistres "
            "qui surviennent pendant qu'il est mis à l'eau, y navigue ou en est retiré.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq8_text(self):
        actual = self.fpq1_contract.generate_faq8_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 8\n"
            "Franchise pour les dommages matériels\n"
            "(Chapitre A)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant modifie le chapitre A du contrat d'assurance en y ajoutant une franchise pour les "
            "dommages matériels causés par le véhicule visé :\n"
            "\t Une franchise d'un montant maximum de  $ par sinistre.\n"
            "\t Une franchise d'un montant maximum de  $ par sinistre, lorsque le véhicule est utilisé pour .\n"
            "Engagement de l'assuré désigné\n"
            "Lorsque l'assureur paie une indemnité pour des dommages matériels, l'assuré désigné "
            "s'engage à rembourser l'assureur jusqu'à concurrence du montant de la franchise.\n"
            "Le montant à rembourser est exigible de l'assuré désigné dès que l'assureur paie l'indemnité.\n"
            "Droits de l'assureur\n"
            "À l'égard de la franchise, l'assureur a le droit :\n"
            "\t d'agir comme il le veut en matière d'enquête, de transaction ou de règlement;\n"
            "\t d'autoriser l'assuré désigné à conclure une transaction ou un règlement avec "
            "toute autre personne qui a subi un dommage matériel et à indemniser cette "
            "personne. Par contre, le total des montants convenus à la suite de la "
            "transaction ou du règlement ne doit pas dépasser le montant de la franchise.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq30_text(self):
        actual = self.fpq1_contract.generate_faq30_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 30\n"
            "Restriction des garanties pour certains équipements et matériel fixés au véhicule\n"
            "(Chapitre A)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Sous réserve de la Loi sur l'assurance automobile, cet avenant restreint les garanties du chapitre A du "
            "contrat d'assurance en y ajoutant l'exclusion suivante :\n"
            "\t Sont exclues les conséquences financières que peut subir la personne assurée lorsqu'elle "
            "est civilement responsable de dommages occasionnés par l'équipement ou le matériel suivant - ou "
            "leurs accessoires - pendant qu'ils sont fixés au véhicule visé :\n"
            "(Caractéristiques de l'équipement ou du matériel)\n"
            "Pour que l'exclusion ci-dessus s'applique :\n"
            "\t les dommages doivent être occasionnés pendant que l'équipement, le matériel ou leurs "
            "accessoires se trouvent sur les lieux de leur utilisation; et\n"
            "\t la responsabilité civile de la personne assurée doit découler du fait qu'elle est "
            "propriétaire de l'équipement, du matériel ou de leurs accessoires, ou du fait de leur usage ou de "
            "leur fonctionnement.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq40_text(self):
        actual = self.fpq1_contract.generate_faq40_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 40\n"
            "Franchise en cas d'incendie\n"
            "(Chapitre B)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat d'assurance.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant modifie l'article 7 du chapitre B du contrat d'assurance de la façon suivante : la "
            "franchise des Protections 1, 3 ou 4 s'applique en cas d'incendie.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq13c_text(self):
        actual = self.fpq1_contract.generate_faq13_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 13c\n"
            "Restriction de la Protection 3 pour les vitres du véhicule\n"
            "(Chapitre B)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat d'assurance.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant restreint la Protection 3 du chapitre B du contrat d'assurance en excluant les "
            "dommages occasionnés aux vitres du véhicule visé, sauf s'ils sont occasionnés par :\n"
            "\t l'atterrissage forcé ou la chute d'un aéronef ou d'une partie de cet appareil;\n"
            "\t la crue des eaux;\n"
            "\t l'échouement, la submersion, l'incendie, le déraillement ou la collision de tout véhicule terrestre "
            "ou bateau servant à transporter le véhicule visé;\n"
            "\t les émeutes;\n"
            "\t les explosions;\n"
            "\t la foudre;\n"
            "\t la grêle;\n"
            "\t l'incendie;\n"
            "\t les mouvements populaires;\n"
            "\t les tempêtes de vent;\n"
            "\t les tentatives de vol;\n"
            "\t les tremblements de terre;\n"
            "\t le vol.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq2_text(self):
        actual = self.fpq1_contract.generate_faq2_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 2\n"
            "Conduite de véhicules dont l'assuré désigné n'est pas propriétaire par des conducteurs désignés\n"
            "(Chapitre A)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Prime d'assurance additionnelle à payer :\n"
            "\t Montants à payer :  \n"
            "\t Date limite pour payer :  \n"
            "Description de l'avenant\n"
            "Cet avenant étend les garanties du chapitre A du contrat d'assurance en ajoutant le paragraphe "
            "suivant à l'article 2 intitulé « Véhicules assurés » :\n"
            "« tout véhicule assimilable à   et conduit, au moment du "
            "sinistre, par l'une des personnes suivantes :\n"
            "NOM | ÂGE | LIEN AVEC L'ASSURÉ DÉSIGNÉ\n"
            "1. | | \n"
            "2. | | \n"
            "3. | | \n"
            "4. | | \n"
            "Pour que ce véhicule soit considéré comme un « véhicule assuré » au chapitre A, "
            "les conditions suivantes doivent être respectées :\n"
            "1. Au moment du sinistre, le véhicule n'est pas conduit dans le cadre d'une "
            "activité professionnelle de garagiste.\n"
            "2. Le véhicule n'a pas comme propriétaire ou usager fréquent les personnes suivantes :\n"
            "\t l'assuré désigné ou toute personne ayant le même domicile que lui;\n"
            "\t toute personne désignée dans le tableau ci-dessus ou toute personne ayant le même "
            "domicile qu'elle.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "3. Le véhicule n'est pas fourni par un employeur :\n"
            "\t de l'assuré désigné ou de toute personne ayant le même domicile que lui;\n"
            "\t d'une personne désignée dans le tableau ci-dessus ou de toute personne ayant le même "
            "domicile qu'elle.\n"
            "4. Le véhicule n'est pas affecté :\n"
            "\t à l'usage de taxi, d'autobus ou d'autocar;\n"
            "\t à la livraison commerciale.»\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq3_text(self):
        actual = self.fpq1_contract.generate_faq3_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 3\n"
            "Garantie « responsabilité civile » pour le véhicule d'un gouvernement canadien\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Prime d'assurance additionnelle à payer :\n"
            "\t Montants à payer :  \n"
            "\t Date limite pour payer :  \n"
            "Description de l'avenant\n"
            "Cet avenant étend la garantie « responsabilité civile » du contrat d'assurance au véhicule "
            "d'un gouvernement canadien dont la personne assurée a la garde ou sur lequel elle a un "
            "pouvoir de direction ou de gestion. Cet avenant couvre les conséquences financières que "
            "peut subir cette personne assurée lorsqu'elle est civilement responsable :\n"
            "1. Au chapitre A :\n"
            "\t d'un dommage causé à une autre personne par le véhicule ou ses équipements et accessoires.\n"
            "2. Au chapitre B :\n"
            "\t d'un dommage direct et accidentel causé au véhicule ou à ses équipements et accessoires; ou\n"
            "\t de la disparition du véhicule ou de ses équipements et accessoires.\n"
            "La responsabilité civile peut être contractuelle ou extracontractuelle.\n"
            "Personne assurée\n"
            "L'expression « personne assurée » utilisée dans cet avenant fait référence aux personnes suivantes :\n"
            "\t l'assuré désigné;\n"
            "\t son conjoint;\n"
            "\t toute personne qui conduit le véhicule ou en fait usage.\n"
            "Conditions d'application\n"
            "Cet avenant ne s'applique pas si la personne assurée a la garde de plusieurs véhicules "
            "d'un gouvernement canadien à la fois. Il ne s'applique pas non plus si elle a un pouvoir "
            "de direction ou de gestion sur plusieurs de ces véhicules à la fois.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Risques couverts, montant d'assurance, franchises et primes d'assurance\n"
            "Les risques couverts par cet avenant sont ceux pour lesquels un montant d'assurance, une franchise "
            "ou une prime d'assurance est écrit au tableau ci-dessous, ou écrit spécifiquement pour cet avenant "
            "à la section « Conditions particulières » du contrat d'assurance.\n"
            "GARANTIES | RISQUES | MONTANT D'ASSURANCE ET FRANCHISES | PRIMES D'ASSURANCE\n"
            "Chapitre A : Responsabilité civile | Dommages matériels ou dommages corporels causés à "
            "d'autres personnes | Montant d'assurance :  $ |  $\n"
            "Chapitre B : Dommages aux véhicules assurés | Protection 1 : « Tous risques », Protection 2 : "
            "Risques de collision et de renversement, Protection 3 : Tous les risques sauf collision ou renversement, "
            "Protection 4 : Risques spécifiques | Franchise par sinistre : $ $ $ $ | $ $ $ $\n"
            "  |  | Total: | $\n"
            "Pour le chapitre B, la garantie de cet avenant s'applique pour un montant maximum de  $ "
            "par sinistre, auquel s'ajoutent les frais, les dépens et les intérêts qui découlent d'une poursuite.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq33_text(self):
        actual = self.fpq1_contract.generate_faq33_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 33\n"
            "Assurance pour les frais d'assistance routière\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Prime d'assurance additionnelle à payer :\n"
            "\t Montants à payer :  \n"
            "\t Date limite pour payer :  \n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant prévoit que les frais d'assistance routière décrits ci-dessous et engagés pour le "
            "véhicule visé seront remboursés par l'assureur.\n"
            "Frais d'assistance routière\n"
            "Les frais d'assistance routière couverts sont les suivants :\n"
            "\t le changement d'une roue;\n"
            "\t le déverrouillage des portières;\n"
            "\t la livraison d'essence, jusqu'à 10 litres;\n"
            "\t le remorquage dans un rayon de  kilomètres (minimum de 25 km);\n"
            "\t le survoltage de la batterie.\n"
            "Les réparations mécaniques, ainsi que les pièces et les fournitures utilisées pour réparer "
            "le véhicule visé, ne sont pas couvertes par cet avenant.\n"
            "Limitations\n"
            "\t  $ par événement occasionnant des frais d'assistance routière.\n"
            "\t  $ par année d'assurance.\n"
            "\t  événements par année d'assurance.\n"
            "Demande de remboursement\n"
            "L'assuré désigné doit justifier sa demande de remboursement en remettant à l'assureur "
            "les factures payées relatives aux frais d'assistance routière.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq32_text(self):
        actual = self.fpq1_contract.generate_faq32_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 32\n"
            "Véhicules à but uniquement récréatif\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat d'assurance.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N : \n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant modifie le contrat d'assurance pour le véhicule automobile à but uniquement récréatif qui :\n"
            "\t est expressément désigné à l'article 3 de la section « Conditions particulières » du contrat "
            "d'assurance; ou\n"
            "\t fait partie des « véhicules assurés » du contrat d'assurance.\n"
            "Véhicule automobile à but uniquement récréatif\n"
            "Un « véhicule automobile à but uniquement récréatif » vise, entre autres, tout véhicule "
            "automobile qui est ou non de fabrication commerciale, et qui est assimilable :\n"
            "\t aux « dune buggies »;\n"
            "\t aux mini-motos;\n"
            "\t aux mini-voitures;\n"
            "\t aux motoneiges; et\n"
            "aux véhicules automobiles tout-terrain.\n"
            "Description des modifications\n"
            "1. Chapitre A : le paragraphe E. de l'article 2. intitulé « Véhicules assurés » est remplacé "
            "par le paragraphe suivant :\n"
            "« E. Sauf si elle est désignée à la section « Conditions particulières », toute remorque "
            "(qu'elle appartienne ou non à l'assuré désigné) utilisée avec un véhicule automobile "
            "à but uniquement récréatif qui est :\n"
            "\t du même type que celui désigné à la section « Conditions particulières »; et\n"
            "\t couvert par le contrat d'assurance. »\n"
            "2. Conditions générales : le paragraphe a) de l'article 7. intitulé « Usages interdits "
            "d'un véhicule assuré » est remplacé par le paragraphe suivant :\n"
            "« a) Elles ne sont pas autorisées à conduire par la loi; »\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "3. Les expressions « véhicule automobile » et « véhicule automobile utilisé à des "
            "fins personnelles » sont remplacées partout dans le contrat d'assurance par l'expression suivante :\n"
            "« véhicule automobile à but uniquement récréatif du même type que celui désigné à la section "
            "« Conditions particulières » ».\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq37a_text(self):
        actual = self.fpq1_contract.generate_faq37ab_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 37 (A-B)\n"
            "Modifications aux garanties pour les accessoires électroniques\n"
            "(Chapitre B)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Selon l'option applicable, cet avenant modifie les garanties du chapitre B du contrat "
            "d'assurance pour les « accessoires électroniques » qui ne sont pas des « accessoires "
            "électroniques d'origine ».\n"
            "Option A : Limitation de l'indemnité\n"
            "En cas de sinistre couvert, l'indemnité du chapitre B se limite à …………….. $ pour l'ensemble "
            "des « accessoires électroniques » endommagés qui ne sont pas des « accessoires électroniques "
            "d'origine ».\n"
            "De plus, l'indemnité ne peut jamais dépasser la « valeur au jour du sinistre » des « "
            "accessoires électroniques » endommagés.\n"
            "Cette limitation s'applique même lorsqu'un F.A.Q. N 43 (A à F) intitulé « Modification à "
            "l'indemnisation » est annexé au contrat d'assurance.\n"
            "Option B : Exclusion de la garantie\n"
            "L'ensemble des « accessoires électroniques » qui ne sont pas des « accessoires "
            "électroniques d'origine » sont exclus des garanties du chapitre B.\n"
            "Définitions\n"
            "1. Accessoires électroniques\n"
            "L'expression « accessoires électroniques » utilisée dans cet avenant vise les appareils "
            "électroniques :\n"
            "qui sont fixés ou destinés à être fixés en permanence au véhicule visé; et\n"
            "qui servent à la communication, à la reproduction ou à l'enregistrement du son ou de l'image, "
            "ou des deux à la fois. Cela inclut, entre autres :\n"
            "- les assistants de navigation personnels (GPS);\n"
            "- les lecteurs de disques compacts et de DVD;\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "- les radios, y compris les radios C.B. et les émetteurs-récepteurs amateurs ou autres; et\n"
            "les systèmes de son.\n"
            "2. Accessoires électroniques d'origine\n"
            "L'expression « accessoires électroniques d'origine » utilisée dans cet avenant vise les "
            "accessoires électroniques décrits ci-dessus :\n"
            "\t qui ont été installés par le fabricant ou le concessionnaire; et\n"
            "\t qui étaient compris dans le prix d'achat original du véhicule visé.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq27_text(self):
        actual = self.fpq1_contract.generate_faq27_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 27\n"
            "Responsabilité civile du fait de dommages causés à des véhicules "
            "dont l'assuré désigné n'est pas propriétaire\n"
            "(incluant les véhicules fournis par un employeur)\n"
            "(Chapitre A)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Date de fin :\n"
            "cet avenant s'applique jusqu'au  à 0 h 01, heure normale à "
            "l'adresse de l'assuré désigné ou, si aucune date n'est précisée, jusqu'à la date "
            "d'échéance du contrat d'assurance.\n"
            "Prime d'assurance additionnelle à payer :\n"
            "\t Montants à payer :  \n"
            "\t Date limite pour payer :  \n"
            "Description de l'avenant\n"
            "Cet avenant étend la garantie du chapitre A du contrat d'assurance aux conséquences financières "
            "que peut subir la personne assurée lorsqu'elle est civilement responsable du fait :\n"
            "\t d'un dommage causé à un véhicule assimilable à  , ou à ses équipements et accessoires;\n"
            "de la disparition de ce véhicule ou de ses équipements et accessoires.\n"
            "La responsabilité civile peut être contractuelle ou extracontractuelle.\n"
            "Personnes assurées\n"
            "L'expression « personne assurée » utilisée dans cet avenant fait référence aux personnes suivantes :\n"
            "\t l'assuré désigné;\n"
            "\t son conjoint;\n"
            "\t toute personne désignée dans un F.A.Q. N 2 intitulé « Conduite de véhicules dont "
            "l'assuré désigné n'est pas propriétaire par des conducteurs désignés », annexé au contrat d'assurance;\n"
            "\t les représentants légaux et la succession de toutes les personnes assurées énumérées ci-dessus.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Par contre, lorsque l'assuré désigné est une personne morale, une société ou une association, "
            "l'expression « personne assurée » fait référence aux personnes suivantes :\n"
            "\t tout employé, actionnaire, associé ou membre autorisé par l'assuré désigné;\n"
            "\t leur conjoint;\n"
            "\t toute personne désignée dans un F.A.Q. N 2, annexé au contrat d'assurance;\n"
            "\t les représentants légaux et la succession de toutes les personnes assurées énumérées ci-dessus.\n"
            "Ou uniquement :\n"
            "\t aux personnes suivantes :  ;\n"
            "\t à leur conjoint;\n"
            "\t à toute personne désignée dans un F.A.Q. N 2, annexé au contrat d'assurance;\n"
            "\t aux représentants légaux et à la succession de toutes les personnes assurées énumérées ci-dessus.\n"
            "Conditions d'application\n"
            "1. La personne assurée doit avoir un pouvoir de direction ou de gestion sur le véhicule, "
            "ses équipements et accessoires, ou en avoir la garde.\n"
            "2. La personne assurée, ou toute personne ayant le même domicile que l'assuré désigné, "
            "ne doit pas être propriétaire du véhicule, ni en être locataire pour au moins un an ou crédit-preneur.\n"
            "Risques couverts et primes d'assurance\n"
            "Seuls sont couverts les risques pour lesquels une franchise ou une prime d'assurance est écrite au "
            "tableau ci-dessous, ou écrite spécifiquement pour cet avenant à la section « Conditions particulières » "
            "du contrat d'assurance :\n"
            "CHAPITRE A : Garantie pour la responsabilité civile découlant des dommages matériels et des "
            "dommages corporels causés à d'autres personnes\n"
            " RISQUES | FRANCHISES | PRIMES D'ASSURANCE\n"
            "Protection 1 : « Tous risques », Protection 2 : Risques de collision et de renversement, "
            "Protection 3 : Tous les risques sauf collision ou renversement, "
            "Protection 4 : Risques spécifiques | Franchise par sinistre : $ $ $ $ | $ $ $ $ \n"
            "  | Total : |  $"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Précisions\n"
            "1. Les Protections 1, 2, 3 et 4 ont la même signification qu'au chapitre B du contrat "
            "d'assurance. Les exclusions prévues à ce chapitre s'appliquent si le cas se présente.\n"
            "2. Un montant d'assurance de   $ s'applique par sinistre, auquel s'ajoutent les frais, "
            "les dépens et les intérêts qui découlent d'une poursuite.\n"
            "3. Si le cas se présente, les garanties additionnelles du chapitre A du contrat d'assurance "
            "peuvent s'appliquer.\n"
            "4. L'assureur s'engage à n'exercer aucun recours contre la personne qui a, avec le "
            "consentement de la personne assurée, un pouvoir de direction ou de gestion sur le véhicule ou "
            "ses équipements et accessoires, ou qui en a la garde, sauf si cette personne :\n"
            "\t exerçait une activité professionnelle de garagiste au moment du sinistre; ou\n"
            "\t n'a pas respecté le contrat d'assurance.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq27a_text(self):
        actual = self.fpq1_contract.generate_faq27a_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 27a\n"
            "Responsabilité civile du fait de dommages causés à des véhicules "
            "dont l'assuré désigné n'est pas propriétaire\n"
            "(excluant les véhicules fournis par un employeur)\n"
            "(Chapitre A)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Date de fin :\n"
            "cet avenant s'applique jusqu'au  à 0 h 01, heure normale à "
            "l'adresse de l'assuré désigné ou, si aucune date n'est précisée, jusqu'à la date "
            "d'échéance du contrat d'assurance.\n"
            "Prime d'assurance additionnelle à payer :\n"
            "\t Montants à payer :  \n"
            "\t Date limite pour payer :  \n"
            "Description de l'avenant\n"
            "Cet avenant restreint les garanties du contrat d'assurance lorsque le véhicule visé est, au "
            "moment du sinistre, conduit ou utilisé par :  (nom du conducteur désigné)\n"
            "Dans un tel cas, seuls sont couverts les risques suivants, ou ceux écrits spécifiquement pour cet avenant "
            "à la section « Conditions particulières » du contrat d'assurance :.\n"
            "Cet avenant étend la garantie du chapitre A du contrat d'assurance aux conséquences financières que "
            "peut subir la personne assurée lorsqu'elle est civilement responsable du fait :\n"
            "\t d'un dommage causé à un véhicule assimilable à  ou à ses équipements et accessoires;\n"
            "\t de la disparition de ce véhicule ou de ses équipements et accessoires.\n"
            "La responsabilité civile peut être contractuelle ou extracontractuelle.\n"
            "Personnes assurées\n"
            "L'expression « personne assurée » utilisée dans cet avenant fait référence aux personnes suivantes :\n"
            "\t l'assuré désigné;\n"
            "\t son conjoint;\n"
            "\t toute personne désignée dans un F.A.Q. N 2 intitulé « Conduite de véhicules dont "
            "l'assuré désigné n'est pas propriétaire par des conducteurs désignés », annexé au contrat d'assurance;\n"
            "\t les représentants légaux et la succession de toutes les personnes assurées énumérées ci-dessus.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Par contre, lorsque l'assuré désigné est une personne morale, une société ou une association, "
            "l'expression « personne assurée » fait référence aux personnes suivantes :\n"
            "\t tout employé, actionnaire, associé ou membre autorisé par l'assuré désigné;\n"
            "\t leur conjoint;\n"
            "\t toute personne désignée dans un F.A.Q. N 2, annexé au contrat d'assurance;\n"
            "\t les représentants légaux et la succession de toutes les personnes assurées énumérées ci-dessus.\n"
            "Ou uniquement :\n"
            "\t aux personnes suivantes :  ;\n"
            "\t à leur conjoint;\n"
            "\t à toute personne désignée dans un F.A.Q. N 2, annexé au contrat d'assurance;\n"
            "\t aux représentants légaux et à la succession de toutes les personnes assurées énumérées ci-dessus.\n"
            "Conditions d'application\n"
            "1. La personne assurée doit avoir un pouvoir de direction ou de gestion sur le véhicule, "
            "ses équipements et accessoires, ou en avoir la garde.\n"
            "2. La personne assurée, ou toute personne ayant le même domicile que l'assuré désigné, "
            "ne doit pas être propriétaire du véhicule, ni en être locataire pour au moins un an ou crédit-preneur.\n"
            "3. Un employeur de la personne assurée ou un employeur d'une personne ayant le même domicile "
            "que l'assuré désigné ne doit pas être propriétaire du véhicule, ni en être locataire pour au moins "
            "un an ou crédit-preneur.\n"
            "Risques couverts et primes d'assurance\n"
            "Seuls sont couverts les risques pour lesquels une franchise ou une prime d'assurance est écrite au "
            "tableau ci-dessous, ou écrite spécifiquement pour cet avenant à la section « Conditions particulières » "
            "du contrat d'assurance :\n"
            "CHAPITRE A : Garantie pour la responsabilité civile découlant des dommages matériels et des "
            "dommages corporels causés à d'autres personnes\n"
            " RISQUES | FRANCHISES | PRIMES D'ASSURANCE\n"
            "Protection 1 : « Tous risques », Protection 2 : Risques de collision et de renversement, "
            "Protection 3 : Tous les risques sauf collision ou renversement, "
            "Protection 4 : Risques spécifiques | Franchise par sinistre : $ $ $ $ | $ $ $ $ \n"
            "  | Total : |  $"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Précisions\n"
            "1. Les Protections 1, 2, 3 et 4 ont la même signification qu'au chapitre B du contrat "
            "d'assurance. Les exclusions prévues à ce chapitre s'appliquent si le cas se présente.\n"
            "2. Un montant d'assurance de   $ s'applique par sinistre, auquel s'ajoutent les frais, "
            "les dépens et les intérêts qui découlent d'une poursuite.\n"
            "3. Si le cas se présente, les garanties additionnelles du chapitre A du contrat d'assurance "
            "peuvent s'appliquer.\n"
            "4. L'assureur s'engage à n'exercer aucun recours contre la personne qui a, avec le "
            "consentement de la personne assurée, un pouvoir de direction ou de gestion sur le véhicule ou "
            "ses équipements et accessoires, ou qui en a la garde, sauf si cette personne :\n"
            "\t exerçait une activité professionnelle de garagiste au moment du sinistre; ou\n"
            "\t n'a pas respecté le contrat d'assurance.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq28_text(self):
        actual = self.fpq1_contract.generate_faq28_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 28\n"
            "Restriction de garanties pour les conducteurs désignés\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant restreint les garanties du contrat d'assurance lorsque le véhicule visé est, au "
            "moment du sinistre, conduit ou utilisé par :  (nom du conducteur désigné)\n"
            "Dans un tel cas, seuls sont couverts les risques suivants, ou ceux écrits spécifiquement pour cet avenant "
            "à la section « Conditions particulières » du contrat d'assurance :\n"
            "GARANTIES | RISQUES | MONTANT D'ASSURANCE ET FRANCHISES | COUVERT/NON COUVERT\n"
            "Chapitre A : Responsabilité civile | Dommages matériels ou dommages corporels causés à "
            "d'autres personnes | Montant d'assurance :  $ |  $\n"
            "Chapitre B : Dommages aux véhicules assurés | Protection 1 : « Tous risques », Protection 2 : "
            "Risques de collision et de renversement, Protection 3 : Tous les risques sauf collision ou renversement, "
            "Protection 4 : Risques spécifiques | Franchise par sinistre : $ $ $ $ |      \n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq34_text(self):
        actual = self.fpq1_contract.generate_faq34_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 34\n"
            "Assurance de personnes\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Prime d'assurance additionnelle à payer :\n"
            "\t Montants à payer :  \n"
            "\t Date limite pour payer : \n"
            "TABLE DES MATIERES\n"
            "DESCRIPTION DE L'AVENANT 2\n"
            "CONDITIONS D'APPLICATION 2\n"
            "PERSONNES ASSURÉES 2\n"
            "DIVISION APPLICABLE, MONTANTS MAXIMUMS ET PRIMES D'ASSURANCE 2\n"
            "DESCRIPTION DES DIVISIONS 3\n"
            "EXCLUSIONS 5\n"
            "QUOI FAIRE EN CAS D'ACCIDENT 6\n"
            "AUTOPSIE ET EXAMEN MÉDICAL 6\n"
            "DÉLAIS POUR LE PAIEMENT DES INDEMNITÉS 6\n"
            "DROITS DE L'ASSUREUR LIÉS AU PAIEMENT DES INDEMNITÉS OU DES FRAIS 7\n"
            "DÉFINITIONS 7\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "DESCRIPTION DE L'AVENANT\n"
            "Selon la division applicable, cet avenant prévoit le paiement d'indemnités lorsqu'un accident cause un "
            "dommage corporel à une personne assurée.\n"
            "Pour connaitre la division applicable, voir la section « Division applicable, montants "
            "maximums et primes d'assurance » de cet avenant.\n"
            "CONDITIONS D'APPLICATION\n"
            "1. Le dommage corporel doit avoir été causé directement du fait d'un véhicule automobile "
            "et indépendamment de toute autre cause.\n"
            "2. Les indemnités sont payables par accident et par personne assurée. Le fait qu'il y ait "
            "plusieurs véhicules assurés au contrat d'assurance ne permet pas de cumuler les indemnités.\n"
            "3. Seules les personnes qui respectent le contrat d'assurance et cet avenant peuvent "
            "bénéficier des avantages de cet avenant.\n"
            "PERSONNES ASSURÉES\n"
            "À la Division 1, l'expression « personne assurée » fait référence à l'assuré désigné, son conjoint "
            "et les enfants à charge de l'un ou de l'autre.\n"
            "À la Division 2, seul l'assuré désigné est une « personne assurée ».\n"
            "DIVISION APPLICABLE, MONTANTS MAXIMUMS ET PRIMES D'ASSURANCE\n"
            "Seules sont applicables les divisions et les subdivisions pour lesquelles un montant maximum "
            "ou une prime d'assurance est écrit au tableau ci-dessous, ou écrit spécifiquement pour cet "
            "avenant à la section « Conditions particulières » du contrat d'assurance :\n"
            "DIVISIONS | SUBDIVISIONS | MONTANTS MAXIMUMS | PRIMES D'ASSURANCE\n"
            "1 | A – Indemnités en cas de décès, B – Indemnités en cas de mutilation, C – Remboursement "
            "de frais médicaux | Capital assuré $, Capital assuré $, Montant maximum $ |  $,  $,  $"
            "2 Indemnités en cas d'incapacité totale | Montant maximum $, par semaine |  $|\n"
            "  |  | Total:|  $\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "DESCRIPTION DES DIVISIONS\n"
            "Division 1\n"
            "Indemnités en cas de décès et de mutilation et remboursement de frais médicaux\n"
            "Subdivision A - Indemnités en cas de décès\n"
            "Lorsqu'une personne assurée décède dans les 12 mois de l'accident qui a occasionné son décès, "
            "la Subdivision A prévoit le paiement des indemnités suivantes :\n"
            "\t Si c'est l'assuré désigné qui décède : 100% du capital assuré, auquel s'ajoute 10% "
            "du capital assuré par enfant à charge au décès de l'assuré désigné.\n"
            "\t Si c'est le conjoint de l'assuré désigné qui décède :  % du capital assuré, auquel "
            "s'ajoute 10% du capital assuré par enfant à charge au décès du conjoint.\n"
            "\t Si c'est un enfant à charge qui décède :  % du capital assuré.\n"
            "Les indemnités sont payables aux personnes suivantes :\n"
            "\t Si la personne assurée décédée laisse un conjoint, l'indemnité est payable à ce conjoint.\n"
            "\t Si la personne assurée décédée ne laisse pas de conjoint, l'indemnité est payable "
            "aux personnes à charge, en parts égales.\n"
            "\t Si la personne assurée décédée ne laisse pas de conjoint ni de personne à charge, "
            "l'indemnité est payable à sa succession.\n"
            "\t Si c'est un enfant à charge qui décède, l'indemnité est payable à l'assuré désigné.\n"
            "Si, en raison du même accident, une personne assurée subit une mutilation puis décède, "
            "les indemnités qui lui ont déjà été payées en vertu de la Subdivision B doivent être soustraites "
            "de l'indemnité payable en vertu de la Subdivision A.\n"
            "Subdivision B – Indemnités en cas de mutilation\n"
            "Lorsqu'une personne assurée perd la vue ou un membre de son corps dans les douze mois "
            "de l'accident qui a occasionné cette perte, la Subdivision B prévoit le paiement des indemnités "
            "suivantes :\n"
            "\t Perte des deux mains :100 % du capital assuré;\n"
            "\t Perte des deux pieds :100 % du capital assuré;\n"
            "\t Perte des deux yeux :100 % du capital assuré;\n"
            "\t Perte d'une main et d'un pied :100 % du capital assuré;\n"
            "\t Perte d'une main et d'un oeil :100 % du capital assuré;\n"
            "\t Perte d'un pied et d'un oeil :100 % du capital assuré;\n"
            "\t Perte d'un bras :75 % du capital assuré;\n"
            "\t Perte d'une jambe :75 % du capital assuré;\n"
            "\t Perte d'une main :50 % du capital assuré;\n"
            "\t Perte d'un pied :50 % du capital assuré;\n"
            "\t Perte d'un oeil :50 % du capital assuré.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "La perte d'un oeil signifie la perte totale et irrécouvrable de la vision.\n"
            "La perte d'un membre du corps signifie :\n"
            "\t Pour un bras :\n l'amputation au-dessus du coude.\n"
            "\t Pour une jambe : l'amputation au-dessus du genou.\n"
            "\t Pour une main : l'amputation au niveau du coude, au-dessus du poignet ou au niveau "
            "du poignet.\n"
            "\t Pour un pied : l'amputation au niveau du genou, au-dessus de la cheville ou au "
            "niveau de la cheville.\n"
            "Pour un même accident, les indemnités cumulées à la présente subdivision ne peuvent jamais "
            "dépasser 100% du capital assuré.\n"
            "Subdivision C – Remboursement de frais médicaux\n"
            "La Subdivision C prévoit le remboursement des frais raisonnablement engagés pour les services "
            "ou les soins suivants :\n"
            "\t services d'ambulance;\n"
            "\t soins chirurgicaux;\n"
            "\t soins dentaires;\n"
            "\t soins d'hôpitaux;\n"
            "\t soins d'infirmiers ou d'infirmières autorisés;\n"
            "\t soins médicaux.\n"
            "Ces frais doivent avoir été engagés dans les deux ans de l'accident qui les a occasionnés.\n"
            "Pour un même accident, le total des frais remboursés ne peut jamais dépasser le montant "
            "maximum fixé pour la présente subdivision.\n"
            "Exclusion\n"
            "Cette Subdivision C exclut la partie des frais médicaux visée par une autre assurance, "
            "gouvernementale ou privée, sauf si cette autre assurance est semblable à la présente.\n"
            "Division 2\n"
            "Indemnités en cas d'incapacité totale\n"
            "La Division 2 prévoit le paiement d'une indemnité de remplacement de revenu lorsque "
            "l'assuré désigné a une incapacité totale et ininterrompue en raison d'un accident. Cette "
            "indemnité est calculée à la semaine et n'est payable qu'en complément des montants suivants :\n"
            "\t ceux payables par la Société de l'assurance automobile du Québec en vertu de la "
            "Loi sur l'assurance automobile du Québec; et\n"
            "\t ceux payables en vertu de la Loi sur les accidents du travail et les maladies "
            "professionnelles et de la Loi sur l'indemnisation des victimes d'actes criminels.\n"
            "Conditions\n"
            "1. L'assuré désigné doit avoir un emploi au jour de l'accident. Il est réputé avoir un "
            "emploi dans l'une ou l'autre des situations suivantes :\n"
            "\t - il exerçait effectivement une activité à but lucratif;\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "- il était âgé de 21 ans à 65 ans, et dans les douze mois avant l'accident, il a exercé une "
            "activité à but lucratif pendant au moins six mois, avec ou sans interruption.\n"
            "2. L'incapacité doit se manifester dans les vingt jours de l'accident qui l'a occasionnée.\n"
            "3. L'incapacité empêche complètement l'assuré désigné d'exercer sa profession ou son "
            "occupation effective.\n"
            "Limitations\n"
            "Pour chaque accident :\n"
            "\t L'assuré désigné n'a droit à aucune indemnité pour les sept premiers jours de l'incapacité.\n"
            "\t Une fois ces sept jours expirés, il a droit aux indemnités pour un maximum de . semaines.\n"
            "\t Si l'incapacité persiste après ce nombre de semaines maximum, l'indemnité demeure "
            "payable pour une période supplémentaire maximum de . semaines, si :\n"
            "\t - la persistance est dûment attestée; et\n"
            "\t - l'incapacité empêche l'assuré désigné d'exercer toute activité à but lucratif de "
            "façon permanente.\n"
            "L'assuré désigné ne peut jamais recevoir une indemnité supérieure à la valeur en argent "
            "de toute activité à but lucratif qu'il exerçait avant l'accident.\n"
            "Si l'assuré désigné détient plusieurs assurances, l'indemnité se calcule de la façon suivante :\n"
            "Valeur en argent des activités/Total des indemnités payables pour l'incapacité "
            "en vertu de toutes les assurances X (fois) Indemnité payable à la Division 2 de cet avenant\n"
            "EXCLUSIONS\n"
            "Les exclusions suivantes s'appliquent :\n"
            "A. Les dommages corporels dus à une maladie, dans quelque mesure et à quelque titre que ce soit, "
            "sauf si cette maladie a été contractée directement du fait d'un accident couvert par cet avenant.\n"
            "B. Les dommages corporels subis par la personne assurée qui s'est suicidée ou qui a tenté de "
            "se suicider, peu importe son état mental, si cet avenant n'était pas en vigueur depuis au moins "
            "deux ans de façon ininterrompue.\n"
            "C. Qu'il y ait ou non déclaration de guerre, les dommages corporels occasionnés dans "
            "quelque mesure que ce soit par :\n"
            "\t les activités des forces armées engagées dans des hostilités;\n"
            "\t les bombardements;\n"
            "\t la force militaire;\n"
            "\t la guerre civile;\n"
            "\t l'insurrection;\n"
            "\t l'invasion;\n"
            "\t la rébellion;\n"
            "\t la révolution;\n"
            "\t l'usurpation de pouvoir.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "QUOI FAIRE EN CAS D'ACCIDENT\n"
            "Subdivision A - Indemnités en cas de décès\n"
            "En cas d'accident causant le décès, toute demande d'indemnité doit être envoyée à l'assureur, par écrit.\n"
            "Elle doit être accompagnée de preuves qui établissent, entre autres :\n"
            "\t le décès de la personne assurée;\n"
            "\t la cause de son décès;\n"
            "\t les droits des bénéficiaires de l'indemnité.\n"
            "Subdivisions B et C, et Division 2 - Indemnités en cas de mutilation, remboursement de frais "
            "médicaux et indemnités en cas d'incapacité totale\n"
            "En cas d'accident couvert par les Subdivisions B ou C, ou la Division 2, la personne assurée ou "
            "tout autre bénéficiaire d'une indemnité doit respecter les obligations énoncées ci-dessous. Elles "
            "peuvent le faire par elles-mêmes ou par un intermédiaire.\n"
            "Obligations à respecter :\n"
            "\t Dans les 30 jours de la date où cette personne a eu connaissance de l'accident, elle "
            "doit en informer l'assureur, par écrit.\n"
            "\t Dans les 90 jours de la date où cette personne a eu connaissance de l'accident, elle doit "
            "appuyer sa demande d'indemnité en donnant à l'assureur tous les renseignements auxquels il peut "
            "raisonnablement s'attendre sur les circonstances et sur l'étendue de l'accident.\n"
            "\t Si cette personne n'a pas respecté ces délais de 30 ou 90 jours, elle doit démontrer qu'il "
            "lui était impossible d'agir dans ces délais. Elle pourra quand même recevoir l'indemnité si "
            "elle respecte ses obligations dans l'année de l'accident.\n"
            "\t À la demande de l'assureur, cette personne doit fournir un certificat médical qui "
            "confirme les informations suivantes :\n"
            "- la cause et la nature des dommages corporels faisant l'objet de sa demande d'indemnité;\n"
            "- la durée de l'incapacité totale qui découle de ces dommages corporels.\n"
            "AUTOPSIE ET EXAMEN MÉDICAL\n"
            "Subdivision A - Indemnités en cas de décès\n"
            "Si une personne assurée décède, l'assureur peut faire pratiquer une autopsie. Il doit alors "
            "respecter les exigences du Code civil du Québec.\n"
            "Subdivisions B et C, et Division 2 - Indemnités en cas de mutilation, remboursement de frais médicaux "
            "et indemnités en cas d'incapacité totale\n"
            "L'assureur a le droit de faire passer un examen médical à la personne assurée dans un délai "
            "raisonnable, si la nature de l'invalidité ou de la perte le justifie.\n"
            "L'assureur peut lui faire passer cet examen aussi souvent qu'il en est raisonnable, tant et "
            "aussi longtemps que la demande d'indemnité est en suspens.\n"
            "La personne assurée est obligée de se soumettre à cet examen.\n"
            "DÉLAIS POUR LE PAIEMENT DES INDEMNITÉS\n"
            "Subdivision A - Indemnités en cas de décès\n"
            "L'assureur doit payer les indemnités dans les 30 jours où il reçoit les renseignements et les documents "
            "requis.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Subdivisions B et C - Indemnités en cas de mutilation et remboursement de frais médicaux\n"
            "L'assureur doit payer les indemnités ou rembourser les frais médicaux dans les 60 jours où il reçoit les "
            "renseignements et les documents requis.\n"
            "Division 2 - Indemnités en cas d'incapacité totale\n"
            "L'assureur doit payer la première indemnité dans les 30 jours où il reçoit les renseignements "
            "et les documents requis. À mesure que l'incapacité se prolonge, les paiements suivants se font "
            "à intervalles de 30 jours et moyennant justification tel que prévue à la section « Quoi "
            "faire en cas d'accident » de cet avenant.\n"
            "DROITS DE L'ASSUREUR LIÉS AU PAIEMENT DES INDEMNITÉS OU DES FRAIS\n"
            "L'assureur peut décider de payer une partie ou la totalité des indemnités ou des frais "
            "directement au bénéficiaire de l'assurance, ou aux personnes physiques ou morales qui ont "
            "fourni les soins ou les services médicaux. S'il reste un montant à payer, le total des indemnités "
            "ou des frais déjà payés est alors déduit du montant maximum de la subdivision visée.\n"
            "Avant de payer une indemnité :\n"
            "\t l'assureur peut exiger une quittance de la personne à qui il a payé une indemnité "
            "ou remboursé des frais.\n"
            "\t l'assureur peut exiger d'être subrogé dans les droits de recours du bénéficiaire "
            "contre la personne responsable des dommages corporels, jusqu'à concurrence du montant "
            "de l'indemnité qu'il a payée. Cela signifie que les droits de recours du bénéficiaire "
            "sont transférés à l'assureur.\n"
            "De plus, le paiement d'une indemnité ou le remboursement de frais médicaux ne constitue "
            "pas une admission de responsabilité quant à l'accident. Ce paiement ne peut donc pas être opposé "
            "à la personne assurée ou à l'assureur en matière de responsabilité civile.\n"
            "DÉFINITIONS\n"
            "Pour l'application de cet avenant, les définitions suivantes s'ajoutent à celles du contrat "
            "d'assurance ou les remplacent.\n"
            "ASSURÉ DÉSIGNÉ :\n"
            "\t l'expression « assuré désigné » fait référence à toute personne nommée à "
            "l'article 1 de la section « Conditions particulières » du contrat d'assurance;\n"
            "\t si la personne nommée à cet article 1 est une personne morale, une société ou une "
            "association, l'expression fait référence à chacun de ses employés, actionnaires, membres "
            "ou associés qui fait habituellement usage d'un véhicule désigné pour lequel une prime "
            "d'assurance ou un montant maximum est prévu spécifiquement pour cet avenant (voir l'article 4 "
            "de la section « Conditions particulières » du contrat d'assurance).\n"
            "DOMMAGE CORPOREL : tout dommage de nature physique, y compris le décès.\n"
            "ENFANT À CHARGE :\n"
            "\t tout enfant de moins de dix-huit ans qui est légalement et effectivement à la "
            "charge de l'assuré désigné ou de son conjoint;\n"
            "\t tout enfant de dix-huit ans ou plus qui a le même domicile que celui de l'assuré "
            "désigné et qui est entièrement à la charge de l'assuré désigné ou de son conjoint, ou des deux, "
            "en raison d'une infirmité mentale ou physique.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "PERSONNES À CHARGE : cette expression fait référence aux personnes suivantes :\n"
            "\t les enfants à charge; et\n"
            "\t le père ou la mère de la personne assurée qui est décédée, si les conditions suivantes "
            "sont respectées :\n"
            "\t le père ou la mère avait le même domicile que la personne assurée au jour de l'accident; et\n"
            "\t la personne assurée était le principal soutien financier du père ou de la mère jusqu'au "
            "jour de l'accident.\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)

    def test_faq34a_text(self):
        actual = self.fpq1_contract.generate_faq34ab_endorsement_text()

        new_page = "<###NEW_PAGE###>"

        expected = (
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "Formulaire d'avenant du Québec\n"
            "F.A.Q. N 34 (A-B)\n"
            "Assurance de personnes\n"
            "(modifications des montants d'assurance ou des personnes assurées)\n"
            "Le titre de l'avenant doit être écrit à la section « Conditions particulières » du contrat "
            "d'assurance. Quant aux informations requises dans l'avenant, elles peuvent être écrites à "
            "cette section ou dans l'avenant même, au choix de l'assureur.\n"
            "Nom de l'assureur : \n"
            "Nom de l'assuré désigné : \n"
            "Avenant à la police d'assurance automobile N :\n"
            "Date de prise d'effet : cet avenant s'applique à partir du à 0 h 01, heure normale "
            "à l'adresse de l'assuré désigné.\n"
            "Véhicule visé : cet avenant s'applique uniquement au véhicule désigné suivant :\n"
            "(numéro de référence écrit à la section « Conditions particulières » du contrat d'assurance)\n"
            "Description de l'avenant\n"
            "Cet avenant modifie le F.A.Q. N 34 intitulé « Assurance de personnes » du contrat d'assurance, "
            "selon l'option applicable.\n"
            "Pour connaître l‘option applicable, voir l'article 4 de la section « Conditions "
            "particulières » du contrat d'assurance.\n"
            "Option 34A – Modifications lorsque l'assuré désigné est un individu\n"
            "Cette option prévoit que pour les personnes désignées au tableau ci-dessous :\n"
            "\t les montants maximums écrits au tableau modifient ceux du F.A.Q. N 34 en les remplaçant "
            "ou, si le cas se présente, en s'ajoutant;\n"
            "seules sont applicables les divisions et les subdivisions pour lesquelles un montant, "
            "une prime d'assurance ou une ristourne est écrit au tableau, ou écrit spécifiquement pour "
            "cet avenant à la section « Conditions particulières » du contrat d'assurance.\n"
            f"{new_page}\n"
            "AVENANT(S)\nFAISANT PARTIE DE VOTRE POLICE AUTOMOBILE\n"
            "MONTANTS MAXIMUMS\n"
            "DIVISION 1 | DIVISION 2\n"
            "Nom de la personne assurée | Date de naissance | Subdivision A Indemnités en cas de "
            "décès (capital assuré) | Subdivision B Indemnités en cas de mutilation (capital assuré) | "
            "Subdivision C Remboursement de frais médicaux (montant maximum) | DIVISION 2 Indemnités "
            "en cas d'incapacité totale (montant maximum, par semaine) | Primes d'assurance ou ristournes\n"
            "1. |  | $ | $ | $ | $ | $\n"
            "2. |  | $ | $ | $ | $ | $\n"
            "3. |  | $ | $ | $ | $ | $\n"
            "4. |  | $ | $ | $ | $ | $\n"
            " |  |  |  |  | Total: |  $\n"
            "Option 34B – Modifications lorsque l'assuré désigné est une personne morale, une "
            "société ou une association"
            "Lorsque l'assuré désigné est une personne morale, une société ou une association, le F.A.Q. "
            "N 34 est modifié de la façon suivante :\n"
            "\t seuls les employés, actionnaires, membres ou associés désignés au tableau ci-dessous "
            "sont considérés comme des « assurés désignés »;\n"
            "\t seules sont applicables les divisions et les subdivisions pour lesquelles un montant, "
            "une prime d'assurance ou une ristourne est écrit au tableau ci-dessous, ou écrit spécifiquement "
            "pour cet avenant à la section « Conditions particulières » du contrat d'assurance :\n"
            "MONTANTS MAXIMUMS\n"
            "DIVISION 1 | DIVISION 2\n"
            "Nom de la personne assurée | Date de naissance | Subdivision A Indemnités en cas de "
            "décès (capital assuré) | Subdivision B Indemnités en cas de mutilation (capital assuré) | "
            "Subdivision C Remboursement de frais médicaux (montant maximum) | DIVISION 2 Indemnités "
            "en cas d'incapacité totale (montant maximum, par semaine) | Primes d'assurance ou ristournes\n"
            "1. |  | $ | $ | $ | $ | $\n"
            "2. |  | $ | $ | $ | $ | $\n"
            "3. |  | $ | $ | $ | $ | $\n"
            "4. |  | $ | $ | $ | $ | $\n"
            " |  |  |  |  | Total: |  $\n"
            "Toutes les autres conditions du contrat d'assurance restent les mêmes.\n"
            f"{new_page}\n"
        )

        self.assertEqual(expected, actual)
