public void Test_VerifyCheckSum()
        {
            var serialNumber = SerialNumber.Create("ABC");

            Assert.IsTrue(SerialNumber.IsCheckSumValid(serialNumber));
            var modified = "D" + new string(serialNumber.Skip(1).ToArray());

            Assert.IsFalse(SerialNumber.IsCheckSumValid(modified));
            Assert.IsFalse(SerialNumber.IsCheckSumValid(modified + "A"));
            TestHelper.AssertException <ArgumentNullException>(() => SerialNumber.IsCheckSumValid(null));
            Assert.IsFalse(SerialNumber.IsCheckSumValid(""));
            Assert.IsFalse(SerialNumber.IsCheckSumValid("ABCDER"));
        }
示例#2
0
        public void TestHasXXXProperties_True()
        {
            var key = "BwIAAACkAABSU0EyAAQAAAEAAQALrzxPFiBp4EN5aeLtZZ4sTvcfYn+fSpmxJvhSUxP/9fm+uaWwJ+n7+jc4Zf2tB+WDulTJo5ryauHgKjx5MHMmWNLr77mD3ws11BC61VDt65fIY4DLsvn49ZYajJy3oUwDvyEsnGArUH3IUhCTv/OWbHovmb69Xlg90mEcsIhOm2WKki+1cc7ZeBANtR57SMLv3qDH+DQqTxBb4UOHmJs4YfrMjqOEXBg0pDLT4HHzIz7WVu9ltKJdQZn626aGdMivhKQqxiJj3YsdFiLgM4BZk9ZGCxI2AJLp9Q/IRwqGKg4T0NlNWbqH1P5Zvq2nxVxSQEI/ARpUK1C8CIsnXVfGyRNp5nkFlM05O2HXhwLWhoHn5Dm76FMz5mClkFaRe8pK113sZK0Tw6sEVCrFMXeaiXSGK9xZifvnioOq9jRgp1fCpc5vLSE4VFGZ2vl89hrsfPKAIDIx5vXgNfOGjJXoDfHUkurih1qBG5Aiie5bD8e+LPVQ7jkM9CzFHRC756n1yAwSLUiv2cpbXD/YhZuHOOIljWjgcHKV9b9eyQXUilC8CQOE/1JLUHWLskhRH6NKRo1HVPxsuZpKLfkWEqti6TF8A4gllaJdjJEqq226EaXaRvP2RoqxjRBUKeT/NBN4focrEmjQpMKTAhMmpIutsXEqLbcXbR+0gBbvdIoEcEBbgizGJK8NJtWnli6qh4EEuaqtBYXkP0Io/bZJsc+WuWpHn9lXWIy/cPDTik+uEgbPF5MZEcmLVKJEsdnpcEc=";

            var lic = Lic.Builder
                      .WithRsaPrivateKey(key)
                      .WithHardwareIdentifier("HardwareIdentifier")
                      .WithSerialNumber(SerialNumber.Create("GSA"))
                      .ExpiresIn(TimeSpan.FromDays(100))
                      .WithProperty("Name", "Bill Gates")
                      .WithProperty("Company", "Microsoft")
                      .SignAndCreate();

            Assert.IsTrue(lic.HasExpirationDate);
            Assert.IsTrue(lic.HasHardwareIdentifier);
            Assert.IsTrue(lic.HasSerialNumber);
        }
        public void TestBuild()
        {
            var serialNumber = SerialNumber.Create("ABC");

            Assert.AreEqual(25, serialNumber.Length);

            var splitted = serialNumber.Split('-');

            Assert.AreEqual(5, splitted.Length);
            Assert.AreEqual("SNABC", splitted[0]);
            Assert.AreEqual(4, splitted[1].Length);
            Assert.AreEqual(4, splitted[2].Length);
            Assert.AreEqual(4, splitted[3].Length);
            Assert.AreEqual(4, splitted[4].Length);
            for (int i = 1; i < splitted.Length; i++)
            {
                Assert.IsTrue(ValidNumbersRegex.IsMatch(splitted[i]), $"Splitted part '{splitted[i]}' is not valid.");
            }
        }
 public void TestCreate_DEFE() => SerialNumber.Create("DEFE");
 public void TestCreate_DE2() => SerialNumber.Create("DE2");
 public void TestCreate_Null() => SerialNumber.Create(null);