コード例 #1
0
        public void Equals_ResourceProviderWithDifferentResourceTypes_ReturnsFalse()
        {
            var r1 = new OldResourceProvider(ResourceTypes.Brick, 2);
            var r2 = new OldResourceProvider(ResourceTypes.Grain, 2);

            r1.Equals(r2).ShouldBeFalse();
        }
コード例 #2
0
        public void Equals_ResourceProviderWithDifferentProductionNumbers_ReturnsFalse()
        {
            var r1 = new OldResourceProvider(ResourceTypes.Brick, 2);
            var r2 = new OldResourceProvider(ResourceTypes.Brick, 3);

            r1.Equals(r2).ShouldBeFalse();
        }
コード例 #3
0
        public void EqualsOperator_ResourceProviderIsSame_ReturnsTrue()
        {
            var r1 = new OldResourceProvider(ResourceTypes.Brick, 2);
            var r2 = r1;

            (r1 == r2).ShouldBeTrue();
        }
コード例 #4
0
        public void Equals_ParameterIsSame_Returnstrue()
        {
            var r1 = new OldResourceProvider(ResourceTypes.Brick, 2);
            var r2 = r1;

            r1.Equals(r2).ShouldBeTrue();
        }
コード例 #5
0
        public void GetHashCode_TwoResourceProviderInstances_HashCodesAreEqual()
        {
            var r1 = new OldResourceProvider(ResourceTypes.Wool, 12).GetHashCode();
            var r2 = new OldResourceProvider(ResourceTypes.Wool, 12).GetHashCode();

            r1.ShouldBe(r2);
        }
コード例 #6
0
        public void EqualsOperator_ResourceProviderWithSameResourceTypeAndProductionNumbers_ReturnsTrue()
        {
            var r1 = new OldResourceProvider(ResourceTypes.Brick, 2);
            var r2 = new OldResourceProvider(ResourceTypes.Brick, 2);

            (r1 == r2).ShouldBeTrue();
        }
コード例 #7
0
        public void NotEqualsOperator_ResourceProviderWithDifferentProductionNumbers_ReturnsTrue()
        {
            var r1 = new OldResourceProvider(ResourceTypes.Brick, 2);
            var r2 = new OldResourceProvider(ResourceTypes.Brick, 3);

            (r1 != r2).ShouldBeTrue();
        }
コード例 #8
0
        public void GetHashCode_AllPossibleResourceProviderCombinations_HashCodesAreUnique()
        {
            var hashCodes = new List <Int32>();

            foreach (var type in Enum.GetValues(typeof(ResourceTypes)))
            {
                foreach (var production in new UInt32[] { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 })
                {
                    var hashCode = new OldResourceProvider((ResourceTypes)type, production).GetHashCode();

                    if (hashCodes.Contains(hashCode))
                    {
                        throw new Exception(String.Format("Duplicate hash code found for {0} and {1}.", type, production));
                    }

                    hashCodes.Add(hashCode);
                }
            }
        }
コード例 #9
0
        public void Equals_ParameterIsNull_ReturnsFalse()
        {
            var r1 = new OldResourceProvider(ResourceTypes.Brick, 2);

            r1.Equals(null).ShouldBeFalse();
        }
コード例 #10
0
        public void Equals_ParameterIsOfDifferentType_ReturnsFalse()
        {
            var r1 = new OldResourceProvider(ResourceTypes.Brick, 2);

            r1.Equals(4).ShouldBeFalse(); // Will box value type.
        }
コード例 #11
0
        public void ResourceProvider_NoParameters_NoProductionPossible()
        {
            var r1 = new OldResourceProvider();

            r1.Type.ShouldBeNull();
        }
コード例 #12
0
        public void EqualsOperator_OneParameterIsNull_ReturnsFalse()
        {
            var r1 = new OldResourceProvider();

            (r1 == (OldResourceProvider)null).ShouldBeFalse();
        }
コード例 #13
0
        public void NotEqualsOperator_OneParameterIsNull_ReturnsTrue()
        {
            var r1 = new OldResourceProvider();

            (r1 != (OldResourceProvider)null).ShouldBeTrue();
        }