2017-05-07 24 views
0

我有一個列表,我需要測試以確保它們符合標準。該列表包含數字。這些數字需要10位數字,只有數字(不是字母),不是所有的數字都可以是相同的,空值應該是無效的。測試我的列表實體以確保它們符合我的標準c#?

這是我正在使用的代碼。

static void Main(string[] args) { 
    var testCases = new List<Tuple<String,bool>>() { 
     Tuple.Create("", false), 
     Tuple.Create("5875123699", true), 
     Tuple.Create("123456", false), 
     Tuple.Create("12312312S1", false), 
     Tuple.Create("1234567841", true), 
     Tuple.Create("12312312312", false), 
     Tuple.Create("2222222222", false), 
     Tuple.Create("2222222232", true), 
     Tuple.Create("-875123699", false), 
     Tuple.Create("58751236.9", false), 
     Tuple.Create<String,bool>(null, false), 
     Tuple.Create("8745102365", true) 
    }; 

    var failed = 0; 
    foreach(var test in testCases) 
    { 
     var result = isValid(test.Item1); 
     if(result != test.Item2) { 
      Console.WriteLine("Test failed. isValid returned {2} for string {0}. Should be {1}", test.Item1, test.Item2, result); 
      failed++; 
     } 
    } 

    if(failed > 0) { 
     Console.WriteLine("{0} Tests Failed, Try Again!", failed); 
    } else { 
     Console.WriteLine("All tests passed. Well Done."); 
    } 

測試是: -The號碼必須是10個位數 - 沒有字母,只有數字被允許 - 你不能有一個數,其中所有的數字都是一樣的,例如9999999999 -null值應該是無效的

我覺得這個項目有點過頭了,但我會盡我所能。

預先感謝您。

SB

+2

有什麼問題嗎? – Sajeetharan

+0

顯示你的isValid()函數 –

+0

isValid函數現在是空的 –

回答

0

我認爲這會工作

public static bool IsTenDigitNumber(string input) 
{ 
    int i; 
    if (Int32.TryParse(input, out i)) 
    { 
     if (i < 1000000000) 
      return false; 
     if (i >= 10000000000) 
      return false; 
     return (i % 1111111111 != 0); 
    } 
    else 
     return false; 
} 
相關問題