private static DependencyTestDataPoint GenerateValidRandomizedTestDataPoint()
        {
            var random = new Random();

            DependencyType           dependencyType           = DependencyTypeTestData.GenerateValidRandomizedDependencyType();
            String                   dependentModName         = random.Next(10) == 0 ? "base" : ModTestData.GenerateValidRandomizedModName();
            DependencyComparisonType dependencyComparisonType = null;
            ModVersion               dependentModVersion      = null;

            if (random.Next(6) == 0)
            {
                dependencyComparisonType = DependencyComparisonTypeTestData.GenerateValidRandomizedDependencyComparisonType();

                if (dependentModName == "base" && random.Next(2) == 0)
                {
                    dependentModVersion = ModVersion.For(FactorioVersionTestData.GenerateValidRandomizedFactorioVersionString() + ".0");
                }
                else
                {
                    dependentModVersion = ModVersionTestData.GenerateValidRandomizedModVersion();
                }
            }

            return(CreateTestDataPointFromProperties(
                       DependencyType: dependencyType,
                       DependentModName: dependentModName,
                       DependencyComparisonType: dependencyComparisonType,
                       DependentModVersion: dependentModVersion
                       ));
        }
        private static DependencyComparisonTypeTestDataPoint CreateDependencyComparisonTypeTestDataPointFromEnum(DependencyComparisonTypeId enumId)
        {
            DependencyComparisonType fromFor = new DependencyComparisonType(enumId);

            return(new DependencyComparisonTypeTestDataPoint
            {
                ExpectedString = fromFor.ToString(),
                EnumValue = enumId,
                EnumInt = (Int32)enumId,
                EnumName = Enum.GetName(typeof(DependencyComparisonTypeId), enumId),
                Id = fromFor.Id,
                Name = fromFor.Name,
                ObjectFromFor = fromFor
            });
        }
Пример #3
0
        public void EnumConstructor_WhenGivenEnum_ReturnsCorrectId(DependencyComparisonTypeId enumId, DependencyComparisonTypeId expectedEnumId)
        {
            var testDependencyComparisonType = new DependencyComparisonType(enumId);

            Assert.Equal(expectedEnumId, testDependencyComparisonType.Id);
        }
Пример #4
0
        public void CopyConstructor_WhenValidParameters_ReturnsCorrectName(DependencyComparisonType dependencyType, String expectedName)
        {
            var testDependencyComparisonType = new DependencyComparisonType(dependencyType);

            Assert.Equal(expectedName, testDependencyComparisonType.Name);
        }
Пример #5
0
        public void Equals_WhenGivenNull_ReturnsFalse()
        {
            var greaterThan = new DependencyComparisonType(DependencyComparisonTypeId.GreaterThan);

            Assert.False(greaterThan.Equals(null));
        }
Пример #6
0
 public void Equals_WhenProvidedNotEqualDependencyComparisonTypes_ReturnsFalse(DependencyComparisonType left, DependencyComparisonType right)
 {
     Assert.False(left.Equals(right));
 }
Пример #7
0
 public void ToString_WhenGivenEnumId_ReturnsCorrectString(DependencyComparisonType dependencyComparisonType, String expectedString)
 {
     Assert.Equal(expectedString, dependencyComparisonType.ToString());
 }
Пример #8
0
        public void IntConstructor_WhenGivenValidInt_ReturnsCorrectName(Int32 intId, String expectedName)
        {
            var testDependencyComparisonType = new DependencyComparisonType(intId);

            Assert.Equal(expectedName, testDependencyComparisonType.Name);
        }
Пример #9
0
        public void For_WhenGivenEmptyStringOrWhitespace_ThrowsArgumentException(String dependencyComparisonTypeString)
        {
            var exception = Assert.Throws <ArgumentException>(() => DependencyComparisonType.For(dependencyComparisonTypeString));

            Assert.Equal($"dependencyComparisonTypeString may not be empty. (Parameter 'dependencyComparisonTypeString')", exception.Message);
        }
Пример #10
0
        public void For_WhenGivenNull_ThrowsArgumentNullException()
        {
            var exception = Assert.Throws <ArgumentNullException>(() => DependencyComparisonType.For(null));

            Assert.Equal("dependencyComparisonTypeString is required. (Parameter 'dependencyComparisonTypeString')", exception.Message);
        }
Пример #11
0
        public void For_WhenGivenValidString_ReturnsCorrectName(String dependencyComparisonTypeString, String expectedName)
        {
            var testDependencyComparisonType = DependencyComparisonType.For(dependencyComparisonTypeString);

            Assert.Equal(expectedName, testDependencyComparisonType.Name);
        }
Пример #12
0
        public void DependencyConstructor_WhenValidParameters_ReturnsCorrectDependentModVersion(DependencyType dependencyType, String dependentModName, DependencyComparisonType dependencyComparisonType, ModVersion dependentModVersion)
        {
            var testDependency = new Dependency(dependencyType, dependentModName, dependencyComparisonType, dependentModVersion);

            Assert.Equal(dependentModVersion, testDependency.DependentModVersion);
        }
Пример #13
0
        public void CopyConstructor_WhenValidParameters_ReturnsCorrectDependencyComparisonType(Dependency dependency, DependencyComparisonType expectedDependencyComparisonType)
        {
            var testDependency = new Dependency(dependency);

            Assert.Equal(expectedDependencyComparisonType, testDependency.DependencyComparisonType);
        }
Пример #14
0
        public void For_WhenGivenValidString_ReturnsCorrectDependencyComparisonType(String dependencyString, DependencyComparisonType expectedDependencyComparisonType)
        {
            var dependency = Dependency.For(dependencyString);

            Assert.Equal(expectedDependencyComparisonType, dependency.DependencyComparisonType);
        }
Пример #15
0
        public void EnumConstructor_WhenGivenEnum_ReturnsCorrectName(DependencyComparisonTypeId enumId, String expectedName)
        {
            var testDependencyComparisonType = new DependencyComparisonType(enumId);

            Assert.Equal(expectedName, testDependencyComparisonType.Name);
        }
Пример #16
0
        public void For_WhenGivenInvalidString_ThrowsArgumentException(String dependencyComparisonTypeString)
        {
            var exception = Assert.Throws <ArgumentException>(() => DependencyComparisonType.For(dependencyComparisonTypeString));

            Assert.Equal($"The specified string \"{dependencyComparisonTypeString}\" could not be parsed into a valid DependencyComparisonType. (Parameter 'dependencyComparisonTypeString')", exception.Message);
        }
Пример #17
0
        public void IntConstructor_WhenGivenValidInt_ReturnsCorrectId(Int32 intId, DependencyComparisonTypeId expectedId)
        {
            var testDependencyComparisonType = new DependencyComparisonType(intId);

            Assert.Equal(expectedId, testDependencyComparisonType.Id);
        }
Пример #18
0
        public void CopyConstructor_WhenValidParameters_ReturnsCorrectId(DependencyComparisonType dependencyType, DependencyComparisonTypeId expectedDependencyComparisonTypeId)
        {
            var testDependencyComparisonType = new DependencyComparisonType(dependencyType);

            Assert.Equal(expectedDependencyComparisonTypeId, testDependencyComparisonType.Id);
        }
Пример #19
0
        public void For_WhenGivenValidString_ReturnsCorrectId(String dependencyComparisonTypeString, DependencyComparisonTypeId expectedId)
        {
            var testDependencyComparisonType = DependencyComparisonType.For(dependencyComparisonTypeString);

            Assert.Equal(expectedId, testDependencyComparisonType.Id);
        }
        private static DependencyTestDataPoint CreateTestDataPointFromProperties(DependencyType DependencyType, String DependentModName, DependencyComparisonType DependencyComparisonType, ModVersion DependentModVersion)
        {
            var creationStringBuilder = new StringBuilder();

            if (DependencyType.Id != DependencyTypeId.Required)
            {
                creationStringBuilder.Append($"{DependencyType} ");
            }
            creationStringBuilder.Append(DependentModName);
            if (DependencyComparisonType != null)
            {
                creationStringBuilder.Append($" {DependencyComparisonType} {DependentModVersion}");
            }

            return(new DependencyTestDataPoint
            {
                CreationString = creationStringBuilder.ToString(), // TODO: will this ever be given a string where the ModVersion is in FactorioVersion format?
                ExpectedString = creationStringBuilder.ToString(),
                DependencyType = DependencyType,
                DependentModName = DependentModName,
                DependencyComparisonType = DependencyComparisonType,
                DependentModVersion = DependentModVersion,
                ObjectFromConstructor = new Dependency(DependencyType, DependentModName, DependencyComparisonType, DependentModVersion),
                ObjectFromFor = Dependency.For(creationStringBuilder.ToString())
            });
        }