コード例 #1
0
ファイル: Tests.cs プロジェクト: BarakUgav61/Scratch
        public void Add(char character, int index)
        {
            if (_state != State.PossibleCard)
            {
                return;
            }
            if (!_validCharacters.Contains(character))
            {
                Reset();
                return;
            }
            if (!Char.IsNumber(character))
            {
                return;
            }
            if (NumberOfDigits >= 16)
            {
                if (NumberOfDigits > 16)
                {
                    Reset();
                }
                else
                {
                    NumberOfDigits++;
                    return;
                }
            }
            NumberOfDigits++;
            if (_initialNumberOfDigits > 0)
            {
                return;
            }
            _checkSumValue += _type.GetCheckValue(character);
            _indexes.Add(index);
            _type = _type.Next();

            if (NumberOfDigits >= 14)
            {
                if (IsCreditCard())
                {
                    _matchingCardLengths.Add(NumberOfDigits);
                }
            }
        }
コード例 #2
0
ファイル: Tests.cs プロジェクト: BarakUgav61/Scratch
 public void Reset()
 {
     _indexes.Clear();
     _type = CheckSumType.Even;
     _state = State.PossibleCard;
     NumberOfDigits = 0;
     _matchingCardLengths.Clear();
     _initialNumberOfDigits = 0;
 }