2017-05-08 97 views
-1

如何生成一個9位數的ITIN號碼與70-88在第四和第五位數字?c# - 如何生成隨機ITIN


的IRS網站說

的個人納稅識別號碼(ITIN)開始於數字9和具有一系列的** 70-88在第四和第五個數字。範圍擴大到包括900-70-0000至999-88-9999,900-90-0000至999-92-9999和900-94-0000至999-99-9999。


我的測試是驗證錯誤消息被觀察時用戶試圖輸入一個有效ITIN

我的代碼是得到一個隨機數之後檢查第四和第五個數字。 一個更好的辦法是用9XX-70-0000獲得一個隨機數9XX-88-9999

 int RangeOneBoundaryStart = 70; 
     int RangeOneBoundaryEnd = 88;  
     int count = 100; 
     string InvalidMsg = "Invalid Entry. Individual Tax Identification Numbers are not accepted."; 

     Random rand = new Random(); 

     for (int i = 1; i <=count; i++) 
     { 
      int Rndm1 = rand.Next(900700000, 999889999); 
      string num = Rndm1.ToString();     
      string chcknum = num.Substring(3, 2); 
      int chcknumint = Int32.Parse(chcknum); 

      if (chcknumint >= RangeOneBoundaryStart && Rndm1 < RangeOneBoundaryEnd) 
      { 
       _applyPage.ClearField(VerifyElement); 
       _applyPage.EnterTextWithValue(VerifyElement, num); 
       _applyPage.Click(ClickAnotherElement); 
       _TestMethods.ValidateError(ElementToVld, InvalidMsg); 
      }    

     } 
+0

你的問題是什麼呢?你似乎已經自己回答了(除了'if'語句的第二部分應該看'chcknumint'而不是'Rndm1')... –

+0

對不起,如果它不清楚..如何生成一個9位數的ITIN在第四和第五位數字與70-88?.. – sunjose

回答

1

您可以生成3張不同的隨機數。

var rnd = new Random(); 
var rnd3 = rnd.Next(900, 1000); // 900 <= x < 1000 
var rnd2 = rnd.Next(70, 89); // 70 <= x < 89 
var rnd4 = rnd.Next(0, 10000); // 0 <= x < 10000 

然後就像生成itin一樣。

var itin = rnd3 + "-" + rnd2 + "-" + rnd4.ToString("0000"); 

https://dotnetfiddle.net/CpoWAq

+0

感謝這就是我想要的.. – sunjose