示例#1
0
        public void CombineHashCodes()
        {
            Assert.AreEqual(76781240, HashCodeUtility.CombineHashCodes(0));
            Assert.AreEqual(1923623579, HashCodeUtility.CombineHashCodes(1));
            Assert.AreEqual(76781240, HashCodeUtility.CombineHashCodes(new[] { 0 }));

            Assert.AreEqual(1489077439, HashCodeUtility.CombineHashCodes(0, 0));
            Assert.AreEqual(-1105120207, HashCodeUtility.CombineHashCodes(0, 1));
            Assert.AreEqual(1489077439, HashCodeUtility.CombineHashCodes(new[] { 0, 0 }));

            Assert.AreEqual(459859287, HashCodeUtility.CombineHashCodes(0, 0, 0));
            Assert.AreEqual(-935278042, HashCodeUtility.CombineHashCodes(0, 0, 1));
            Assert.AreEqual(459859287, HashCodeUtility.CombineHashCodes(new[] { 0, 0, 0 }));

            Assert.AreEqual(-1158084724, HashCodeUtility.CombineHashCodes(0, 0, 0, 0));
            Assert.AreEqual(1498382024, HashCodeUtility.CombineHashCodes(0, 0, 0, 1));
            Assert.AreEqual(-1158084724, HashCodeUtility.CombineHashCodes(new[] { 0, 0, 0, 0 }));

            Assert.AreEqual(1762635120, HashCodeUtility.CombineHashCodes(0, 0, 0, 0, 0));
            Assert.AreEqual(951675744, HashCodeUtility.CombineHashCodes(0, 0, 0, 0, 1));
            Assert.AreEqual(1762635120, HashCodeUtility.CombineHashCodes(new[] { 0, 0, 0, 0, 0 }));

            Assert.AreEqual(1002546726, HashCodeUtility.CombineHashCodes(0, 0, 0, 0, 0, 0));
            Assert.AreEqual(-1323428179, HashCodeUtility.CombineHashCodes(0, 0, 0, 0, 0, 1));
            Assert.AreEqual(1002546726, HashCodeUtility.CombineHashCodes(new[] { 0, 0, 0, 0, 0, 0 }));

            Assert.AreEqual(-1222849262, HashCodeUtility.CombineHashCodes(0, 0, 0, 0, 0, 0, 0));
            Assert.AreEqual(1531490892, HashCodeUtility.CombineHashCodes(0, 0, 0, 0, 0, 0, 1));
            Assert.AreEqual(-1222849262, HashCodeUtility.CombineHashCodes(new[] { 0, 0, 0, 0, 0, 0, 0 }));
        }
示例#2
0
        public void CombineHashCodesDuplicate()
        {
            // test for bad hash code generation
            const string str = "happy";

            Assert.AreNotEqual(0, HashCodeUtility.CombineHashCodes(str.GetHashCode(), str.GetHashCode()));
            Assert.AreNotEqual(str.GetHashCode(), HashCodeUtility.CombineHashCodes(str.GetHashCode(), str.GetHashCode()));
        }
 public override int GetHashCode()
 {
     return(HashCodeUtility.CombineHashCodes(m_first, m_second, m_third));
 }
示例#4
0
 /// ------------------------------------------------------------------------------------
 /// <summary>
 /// Returns a hash code for this instance.
 /// </summary>
 /// <returns>
 /// A hash code for this instance, suitable for use in hashing algorithms and data
 /// structures like a hash table.
 /// </returns>
 /// ------------------------------------------------------------------------------------
 public override int GetHashCode()
 {
     return(HashCodeUtility.CombineHashCodes(m_startRef.BBCCCVVV, m_endRef.BBCCCVVV,
                                             Text.GetHashCode(), TextStartIndex, TextLength, VerseStartIndex, Para.Hvo));
 }
示例#5
0
 public void CombineHashCodesNull()
 {
     HashCodeUtility.CombineHashCodes(null);
 }
示例#6
0
 /// <summary>
 /// Returns a hash code for the current object.
 /// </summary>
 /// <returns>A hash code for the current object.</returns>
 public override int GetHashCode()
 {
     // combine the hash codes of the various components of this class
     return(HashCodeUtility.CombineHashCodes(ObjectUtility.GetHashCode(m_text), m_count));
 }
 public void HashFour(int value1, int value2, int value3, int value4)
 {
     Assert.That(HashCodeUtility.CombineHashCodes(value1, value2, value3, value4), Is.EqualTo(HashCodeUtility.CombineHashCodes(new[] { value1, value2, value3, value4 })));
 }
 public void HashThree(int value1, int value2, int value3)
 {
     Assert.That(HashCodeUtility.CombineHashCodes(value1, value2, value3), Is.EqualTo(HashCodeUtility.CombineHashCodes(new[] { value1, value2, value3 })));
 }
 public void HashTwo(int value1, int value2)
 {
     Assert.That(HashCodeUtility.CombineHashCodes(value1, value2), Is.EqualTo(HashCodeUtility.CombineHashCodes(new[] { value1, value2 })));
 }
 public void HashOne(int value)
 {
     Assert.That(HashCodeUtility.CombineHashCodes(value), Is.EqualTo(HashCodeUtility.CombineHashCodes(new[] { value })));
 }
示例#11
0
 public override int GetHashCode()
 {
     return(HashCodeUtility.CombineHashCodes(AttackerActionId.GetHashCode(), DefenderActionId.GetHashCode()));
 }