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(); }