Exemplo n.º 1
0
        public void PublicKey()
        {
            StrongNamePublicKeyBlob snpkb = new StrongNamePublicKeyBlob(pk);

            Assert.IsTrue(snpkb.Equals(snpkb), "Equals(Self)");
            Assert.IsFalse(snpkb.Equals(null), "Equals(null)");
            Assert.AreEqual("00240000048000009400000006020000002400005253413100040000010001003DBD7208C62B0EA8C1C058072B635F7C9ABDCB22DB20B2A9DADAEFE800642F5D8DEB7802F7A5367728D7558D1468DBEB2409D02B131B926E2E59544AAC18CFC909023F4FA83E94001FC2F11A27477D1084F514B861621A0C66ABD24C4B9FC90F3CD8920FF5FFCED76E5C6FB1F57DD356F96727A4A5485B079344004AF8FFA4CB", snpkb.ToString(), "ToString(pk)");

            StrongNamePublicKeyBlob snpkb2 = new StrongNamePublicKeyBlob(pk);

            Assert.IsTrue(snpkb.Equals(snpkb2), "Equals()-true");
            StrongNamePublicKeyBlob snpkb3 = new StrongNamePublicKeyBlob(bad);

            Assert.IsFalse(snpkb.Equals(snpkb3), "Equals()-false");

            // non standard get hash code - why ???
            Assert.AreEqual(snpkb2.GetHashCode(), snpkb.GetHashCode(), "GetHashCode-0");
#if NET_2_0
            // the first 4 bytes has code has been fixed in 2.0 beta 1
#elif NET_1_1
            // It seems to be the first four bytes of the public key data
            // which seems like non sense as all valid public key will have the same header ?
            Assert.AreEqual(2359296, snpkb.GetHashCode(), "GetHashCode-1");
            Assert.AreEqual(2359296, snpkb2.GetHashCode(), "GetHashCode-2");
            Assert.AreEqual(2989, snpkb3.GetHashCode(), "GetHashCode-3");
            byte[] header = { 0x00, 0x24, 0x00, 0x00 };
            StrongNamePublicKeyBlob snpkb4 = new StrongNamePublicKeyBlob(header);
            Assert.AreEqual(2359296, snpkb4.GetHashCode(), "GetHashCode-4");
#endif
        }
        public void StrongNameMembershipCondition_NullName()
        {
            StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, null, version);

            Assert.AreEqual(blob, snmc.PublicKey, "PublicKey");
            Assert.IsNull(snmc.Name, "Name");
            Assert.AreEqual(version, snmc.Version, "Version");
            Assert.AreEqual(blob.GetHashCode(), snmc.GetHashCode(), "GetHashCode ()");
            Assert.IsTrue(snmc.ToString().StartsWith("StrongName - 00000000000000000400000000000000 version = "), "ToString ()");

            Assert.IsTrue(snmc.Check(hostEcmaCorlibVersion), "Check(hostEcmaCorlibVersion)");
            Assert.IsTrue(snmc.Check(hostEcmaVersion), "Check(hostEcmaVersion)");
            Assert.IsFalse(snmc.Check(hostMsSystemSecurityVersion), "Check(hostMsSystemSecurityVersion)");
            Assert.IsFalse(snmc.Check(hostMsVersion), "Check(hostMsVersion)");
            Common(snmc);
        }
Exemplo n.º 3
0
 public static void StrongNamePublicKeyBlobTests()
 {
     StrongNamePublicKeyBlob snpkb = new StrongNamePublicKeyBlob(new byte[1]);
     bool   testbool   = snpkb.Equals(new object());
     int    hash       = snpkb.GetHashCode();
     string teststring = snpkb.ToString();
 }
Exemplo n.º 4
0
        public void StrongNameMembershipCondition_MsKey()
        {
            StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(ms, null, null);

            Assert.AreEqual(ms, snmc.PublicKey, "PublicKey");
            Assert.IsNull(snmc.Name, "Name");
            Assert.IsNull(snmc.Version, "Version");
            Assert.AreEqual(ms.GetHashCode(), snmc.GetHashCode(), "GetHashCode ()");

            Assert.IsFalse(snmc.Check(hostEcmaCorlibVersion), "Check(hostEcmaCorlibVersion)");
            Assert.IsFalse(snmc.Check(hostEcmaVersion), "Check(hostEcmaVersion)");
            Assert.IsTrue(snmc.Check(hostMsSystemSecurityVersion), "Check(hostMsSystemSecurityVersion)");
            Assert.IsTrue(snmc.Check(hostMsVersion), "Check(hostMsVersion)");
            Common(snmc);
        }
 public override int GetHashCode()
 {
     if (m_publicKeyBlob != null)
     {
         return(m_publicKeyBlob.GetHashCode());
     }
     else if (m_name != null || m_version != null)
     {
         return((m_name == null ? 0 : m_name.GetHashCode()) + (m_version == null ? 0 : m_version.GetHashCode()));
     }
     else
     {
         return(typeof(StrongName).GetHashCode());
     }
 }
Exemplo n.º 6
0
        public void CompleteConstructor()
        {
            StrongName sn = new StrongName(snpkb, name, version);

            Assert.AreEqual(name, sn.Name, "Name");
            Assert.AreEqual(snpkb.ToString(), sn.PublicKey.ToString(), "PublicKey");
            Assert.AreEqual(version.ToString(), sn.Version.ToString(), "Version");

            // same as StrongNamePublicKeyBlob
            Assert.AreEqual(snpkb.GetHashCode(), sn.GetHashCode(), "GetHashCode");

            IPermission ip = sn.CreateIdentityPermission(null);

            Assert.IsTrue((ip is StrongNameIdentityPermission), "CreateIdentityPermission");

            string s = String.Format("<StrongName version=\"1\"{0}{1}Key=\"00240000048000009400000006020000002400005253413100040000010001003DBD7208C62B0EA8C1C058072B635F7C9ABDCB22DB20B2A9DADAEFE800642F5D8DEB7802F7A5367728D7558D1468DBEB2409D02B131B926E2E59544AAC18CFC909023F4FA83E94001FC2F11A27477D1084F514B861621A0C66ABD24C4B9FC90F3CD8920FF5FFCED76E5C6FB1F57DD356F96727A4A5485B079344004AF8FFA4CB\"{0}{1}Name=\"StrongNameName\"{0}{1}Version=\"1.2.3.4\"/>{0}",
                                     Environment.NewLine,
                                     String.Empty);

            Assert.AreEqual(s, sn.ToString(), "ToString");
        }
Exemplo n.º 7
0
 public static void StrongNamePublicKeyBlobTests()
 {
     StrongNamePublicKeyBlob snpkb = new StrongNamePublicKeyBlob(new byte[1]);
     bool testbool = snpkb.Equals(new object());
     int hash = snpkb.GetHashCode();
     string teststring = snpkb.ToString();
 }
Exemplo n.º 8
0
 public override int GetHashCode()
 {
     return(publickey.GetHashCode());
 }
 // Get the hash code for this instance.
 public override int GetHashCode()
 {
     return(blob.GetHashCode());
 }
Exemplo n.º 10
0
 public override int GetHashCode()
 {
     // name and version aren't part of the calculation
     return(blob.GetHashCode());
 }