         "370567702123605","377416885469414","376584690279335",
         "343876068903839","342853139737588","375225668591555",
         "345635170374943"
+    ]
+    private let validChinaUnionPayNumbers = [
+        "6281263666071775", "6216618744032364", "6207688951528694",
+        "6246553262016057", "6231548126188602", "6229666229491402",
+        "6256787225452531", "6275921608934487", "6231343519691887",
+        "6202825789208058", "6239804726435477", "6286698514203507",
+        "6234017862752879", "6273996009006863", "6268602610482249",
+        "6201175172181186", "6205373975695173",
     ]
     private let validDinersClubNumbers = [
         "38923577957110","30014619316479","30230875312552",

        let tooLongDiscover = "60111111111111111"
        let tooLongJCB = "35301113333000000"
        let tooLongMasterCard = "55555555555544444"
        
        XCTAssertIncompleteNumber(Visa().validateNumber(Number(rawValue: tooShortVisa)))
        XCTAssertIncompleteNumber(AmericanExpress().validateNumber(Number(rawValue: tooShortAmex)))

        let tooShortDiscover = "601111111111111"
        let tooShortJCB = "353011133330000"
        let tooShortMasterCard = "555555555555444"
        let tooShortChinaUnionPay = "628126366607177"
        
        let tooLongVisa = "41111111111111111"
        let tooLongAmex = "3782822463100000"
