CCMaker Class Library

CCMaker generates valid and invalid credit card numbers for testing purposes. This tool generates valid card numbers for 13 different credit card and debit card issuing banks. Invalid numbers "look like" valid numbers, but the checksum fails the Luhn check for a valid credit card number.

Click Here to Download the CCMaker Test Automation Library


CCMaker 3.1 Members

Generates a random string representing a valid or invalid credit card number.

Constructor

  Name Description
CreditCardNumberGenerator Initializes a new instance of the CreditCardNumberGenerator class

Methods

  Name Description
Number Generates a random string numers parameterized by the NumberInfo information that represent a valid or invalid credit card number.

Properties

  Name Description
NumberInfo Sets the properties to pass to the Number method of the CreditCardNumberGenerator

Exceptions

Exception Conditions
ArgumentException Seed value is less than 0 or greater than 2,147,483,647
  Card type value is not within valid range of CardName values
  BankIdNumber value is invalid for specified CardType
  CardLength value is invalid for the specified CardType

 

 

 

Remarks

If a credit card type has multiple Bank Id Numbers (BIN) and the ValidBin property is true the generator will randomly select one of the valid BIN numbers. If the ValidBin property is set to false and the BankIdNumber property is set to a valid BIN, or if the BankIdNumber property is set to 0, a random BIN will be generated from the Not Assigned BIN values.

If a credit card type has multiple card lengths and the ValidCardLength is true the generator will randomly select one of the valid card length values. If the ValidCardLength is true and a CardLength property has a valid card length for the credit card type that card length will be used. If the ValidCardLength property is set to false the CardLength property is ignored and the generator will select a random value between 11 and 20 that is no a valid length for the selected credit card type.

Example

using System;
using TestingMentor.TestTool.CCMaker;

namespace RandomTestDataGeneratorExample
{
  class RandomCreditCardNumber
  {
    static void Main()
    {
      try
      {
        // Generate a random seed value for the pseudo-random
        // generator

        Random r = new Random();

        // Log seedValue variable to be able to regenerate identical
        // string
        int seedValue = r.Next();
     
 
      CreditCardNumberGenerator cc = new CreditCardNumberGenerator();
        cc.Info.Seed = seedValue;
        cc.Info.CardType = (int)NumberInfo.CardName.AmericanExpress;

        string cardNumber = cc.Number();
      }
      catch (ArgumentException e)
      {
       
// log e.ToString();
      }
    }
  }
}

This example returns a string representing a valid American Express credit card number.

Example

using System;
using TestingMentor.TestTool.CCMaker;

namespace RandomTestDataGeneratorExample
{
  class RandomCreditCardNumber
  {
      try
      {
        // Generate a random seed value for the pseudo-random
        // generator

        Random r = new Random();

        // Log seedValue variable to be able to regenerate identical
        // string
        int seedValue = r.Next();
     
 
      CreditCardNumberGenerator cc = new CreditCardNumberGenerator();
        cc.Info.Seed = seedValue;
        cc.Info.CardType = (int)NumberInfo.CardName.AmericanExpress;
        cc.Info.BankIdNumber = 37;

        string cardNumber = cc.Number();
      }
      catch (ArgumentException e)
      {
       
// log e.ToString();
      }
    }
  }
}

This example returns a string representing a valid American Express credit card number with a specific valid bank ID number of 37.

Example

using System;
using TestingMentor.TestTool.CCMaker;

namespace RandomTestDataGeneratorExample
{
  class RandomCreditCardNumber
  {
      try
      {
        // Generate a random seed value for the pseudo-random
        // generator

        Random r = new Random();

        // Log seedValue variable to be able to regenerate identical
        // string
        int seedValue = r.Next();
     
 
      CreditCardNumberGenerator cc = new CreditCardNumberGenerator();
        cc.Info.Seed = seedValue;
        cc.Info.CardType = (int)NumberInfo.CardName.Visa;
        cc.Info.ValidBin = false;

        string cardNumber = cc.Number();
      }
      catch (ArgumentException e)
      {
        // log e.ToString();
      }
    }
  }
}

This example returns a string representing a invalid credit card number with an invalid bank ID number for Visa credit cards.

Example

using System;
using TestingMentor.TestTool.CCMaker;

namespace RandomTestDataGeneratorExample
{
  class RandomCreditCardNumber
  {
      try
      {
        // Generate a random seed value for the pseudo-random
        // generator

        Random r = new Random();

        // Log seedValue variable to be able to regenerate identical
        // string
        int seedValue = r.Next();
     
 
      CreditCardNumberGenerator cc = new CreditCardNumberGenerator();
        cc.Info.Seed = seedValue;
        cc.Info.CardType = (int)NumberInfo.CardName.Visa;
        cc.Info.ValidChecksum = false;
       
        string cardNumber = cc.Number();
      }
      catch (ArgumentException e)
      {
        // log e.ToString();
      } 
    }
  }
}

This example returns a string representing an invalid credit card number with an valid bank ID number and valid length for Visa credit cards, but fails to satisfy the checksum used to verify valid card numbers.