public void TestGuidKeyConversion()
        {
            for (int i = 0; i < 128; ++i)
            {
                // Create a new BitArray with the n.th bit set
                BitArray guidBits = new BitArray(128);
                guidBits[i] = true;

                // Create a GUID from this Bitarray
                byte[] guidBytes = new byte[16];
                guidBits.CopyTo(guidBytes, 0);
                Guid originalGuid = new Guid(guidBytes);

                // Convert the GUID into a license key and back to a GUID
                string licenseKey  = new LicenseKey(originalGuid).ToString();
                Guid   rebuiltGuid = LicenseKey.Parse(licenseKey).ToGuid();

                // Verify that the original GUID matches the fore-and-back converted one
                Assert.AreEqual(originalGuid, rebuiltGuid, "Test for GUID bit " + i);
            }
        }
 public void TestParseInvalidLicenseKey()
 {
     Assert.Throws <ArgumentException>(
         delegate() { LicenseKey.Parse("hello world"); }
         );
 }