public void ConfigurationRequirement_FilePath()
        {
            const string name        = "ConfigurationRequirementName";
            const string description = "Configuration requirement description.";
            const string badInput    = "Bad input";
            FilePath     goodInput   = new FilePath("DoesntMatter.txt", new MockPathInteractor(x => x, x => true));

            AssertUtil.Compare(
                name,
                description,
                ConfigurationRequirementType.FilePath,
                () => ConfigurationRequirement.FilePath(name, description),
                badInput,
                goodInput);
        }
        public void ConfigurationRequirement_FilePath_PropagatesInfo()
        {
            const string name        = "ConfigurationRequirementName";
            const string description = "Configuration requirement description.";
            const bool   isOptional  = true;
            const string badInput    = "Bad input";

            FilePath[] goodInput =
                new FilePath[]
            {
                new FilePath("DoesntMatter.txt", new MockPathInteractor(x => x, x => true))
            };
            CollectionInfo collectionInfo = new CollectionInfo(1, 4);

            IEnumerable <IConfigurationRequirement> dependsOn =
                TestUtil.CreateIConfigurationRequirementCollection(3);
            IEnumerable <IConfigurationRequirement> exclusiveWith =
                TestUtil.CreateIConfigurationRequirementCollection(3);

            AssertUtil.Compare(
                name,
                description,
                ConfigurationRequirementType.FilePath,
                isOptional,
                collectionInfo,
                dependsOn,
                exclusiveWith,
                () => ConfigurationRequirement.FilePath(
                    name,
                    description,
                    isOptional,
                    collectionInfo,
                    dependsOn,
                    exclusiveWith),
                badInput,
                goodInput);
        }