public void GetHashCodeWithFlippedStrategiesReturnsSameHashCodes()
        {
            // Arrange
            var cooperationStrategyMatchup = new CooperationStrategyMatchup(
                new NaiveCooperationStrategy(), new EvilCooperationStrategy(), new CooperationChoicesPayoff());
            var otherCooperationStrategyMatchup = new CooperationStrategyMatchup(
                new EvilCooperationStrategy(), new NaiveCooperationStrategy(), new CooperationChoicesPayoff());

            // Act
            var hashCode = cooperationStrategyMatchup.GetHashCode();
            var otherHashCode = otherCooperationStrategyMatchup.GetHashCode();

            // Assert
            Assert.Equal(hashCode, otherHashCode);
        }
        public void GetHashCodeWithDifferentStrategyBReturnsDifferentHashCodes()
        {
            // Arrange
            var cooperationStrategyMatchup = new CooperationStrategyMatchup(
                new NaiveCooperationStrategy(), new EvilCooperationStrategy(), new CooperationChoicesPayoff());
            var otherCooperationStrategyMatchup = new CooperationStrategyMatchup(
                new NaiveCooperationStrategy(), new TitForTatCooperationStrategy(), new CooperationChoicesPayoff());

            // Act
            var hashCode = cooperationStrategyMatchup.GetHashCode();
            var otherHashCode = otherCooperationStrategyMatchup.GetHashCode();

            // Assert
            Assert.NotEqual(hashCode, otherHashCode);
        }