Exemple #1
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (MapAbilityGmtId.Length != 0)
            {
                hash ^= MapAbilityGmtId.GetHashCode();
            }
            if (targetCase_ == TargetOneofCase.PlayerNickname)
            {
                hash ^= PlayerNickname.GetHashCode();
            }
            if (targetCase_ == TargetOneofCase.MapCoordinate)
            {
                hash ^= MapCoordinate.GetHashCode();
            }
            if (targetCase_ == TargetOneofCase.MobId)
            {
                hash ^= MobId.GetHashCode();
            }
            hash ^= (int)targetCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        public void GetHashCode_ShouldReturnTheDifferentHashCode_WhenCalledWithDifferentCoordinates()
        {
            var sut             = _fixture.Create <MapCoordinate>();
            var otherCoordinate = new MapCoordinate(sut.X + 1, sut.Y);

            var sutResult             = sut.GetHashCode();
            var otherCoordinateResult = otherCoordinate.GetHashCode();

            Assert.NotEqual(sutResult, otherCoordinateResult);
        }
        public void Equals_SameCoordinate_ReturnsTrue()
        {
            var mapKey1 = new MapKey("testMap");
            var mapKey2 = new MapKey("testMap");

            var mapCoordinate1 = new MapCoordinate(mapKey1, 1, 1);
            var mapCoordinate2 = new MapCoordinate(mapKey2, 1, 1);

            mapCoordinate1.Equals(mapCoordinate2).Should().BeTrue();

            (mapCoordinate1 == mapCoordinate2).Should().BeTrue();

            mapCoordinate1.GetHashCode().Should().Be(mapCoordinate2.GetHashCode());

            (mapCoordinate1 != mapCoordinate2).Should().BeFalse();
        }