For this assignment, you will be writing unit tests based on the… For this assignment, you will be writing unit tests based on the following specifications/requirements.You will write a series of unit tests to test a function called credit_card_validator (written for you) that is passed a sequence of digits as a string that represents a credit card number. This function will returnTrue if it is a valid credit card number, otherwise, it will returnFalse.Depending on the credit card issuer, the length of a credit card number can range between 10 and 19 digits. The first few digits of the number are theissuer prefix. Each credit card issuer has an assigned range of numbers. For example, only Visa credit card numbers may begin with4, while American Express card numbers must begin with either a34or37. Sometimes, credit card providers are assigned multiple ranges. For example, MasterCard card numbers must start with the numbers between51through55or2221through2720(inclusive).The last digit of the number is referred to as thecheck digitand acts as achecksum. Most credit cards calculate thischeck digitusing theLuhn algorithm(see resources below for how this is calculated).In order to limit the scope of this assignment, we are going to limit the number of credit card issuers to 3: Visa, MasterCard, and American Express. Each has its own prefixes and length requirements.VisaPrefix(es): 4Length: 16MasterCardPrefix(es): 51 through 55 and 2221 through 2720Length: 16American ExpressPrefix(es): 34 and 37Length: 15Your task is to create a series of tests that attempt to revealbugsin the implementation. As this is black box testing, you will not have access to the source so you must use what you have learned this week to generate test cases.You will be submitting your code to Gradescope which will auto grade your tests. In order to get full credit on the assignment, you will need to locateall6 bugs in the code (refer to the rubric for full details). Some are easier than others. Bug 5 is easy to miss without using Partition Testing and Bug 6 requires using what you know about common errors to design your tests.You are free to determine how you generate your test cases. You may do it completely manually, or use an automated tool like the TSLgenerator. No matter how you generate your test cases, in your file testing file (tests.py), you need to include a comment for eachtest case describing:What the test case (i.e. credit card number) is meant to verifyHow you determined what to use as the test caseHere is an example:# Verifies if Master Cards with valid lengths and invalid check bits returns False # Picked using Category Partition Testing def test11(self): self.assertFalse(credit_card_validator(“….”))You also need to ensure you have test cases that do a good job covering the input domain. This means that at the very least, you need to have a test case for each of the prefix ranges listed aboveSo my question is. When I implement a TSLgenerator to create the prefixes above for the credit cards then generate this. In Pycharm for a test.py case. does the prefixes and lengths generate need to be in test frames for every case generated or just a one code for a random of only the credit cards to read everyone?Computer ScienceEngineering & TechnologyPython Programming CS 362

Order your essay today and save 20% with the discount code ESSAYHELP