public void Constructor_WithAllValues_ShouldSetProperties()
        {
            const int number  = 1;
            var       ratings = new [] { 1, 2 };
            var       actual  = new Generated.EmployeeRatings(number, ratings);

            Assert.That(actual.EmployeeNumber, Is.EqualTo(number));
            Assert.That(actual.Ratings, Is.EqualTo(ratings));
        }
        public void EqualsGetHashCodeAndEqualityOperators_TypeWithValueTypeArray_ShouldWork()
        {
            const int number  = 1;
            var       ratings = new[] { 1, 2 };

            var a = new Generated.EmployeeRatings(number, ratings);
            var b = new Generated.EmployeeRatings(number, new[] { 1, 2 });
            var c = new Generated.EmployeeRatings(number, new[] { 1, 2 });

            var otherEmployeeNumber = new Generated.EmployeeRatings(number + 1, ratings);
            var otherRatingsLength  = new Generated.EmployeeRatings(number, new[] { 1 });
            var otherRatingsValues  = new Generated.EmployeeRatings(number, new[] { 1, 3 });
            var otherRatingsOrder   = new Generated.EmployeeRatings(number, new[] { 2, 1 });
            var otherRatingsNull    = new Generated.EmployeeRatings(number, null);

            EqualityTesting.TestEqualsAndGetHashCode(a, b, c, otherEmployeeNumber, otherRatingsLength, otherRatingsValues, otherRatingsOrder, otherRatingsNull);
            EqualityTesting.TestEqualityOperators(a, b, c, otherEmployeeNumber, otherRatingsLength, otherRatingsValues, otherRatingsOrder, otherRatingsNull);
        }