コード例 #1
0
ファイル: RelationshipResolver.cs プロジェクト: zicrog/CKAN
        public void ReasonFor_WithTreeOfMods_GivesCorrectParents()
        {
            var list         = new List <string>();
            var suggested    = generator.GeneratorRandomModule();
            var recommendedA = generator.GeneratorRandomModule();
            var recommendedB = generator.GeneratorRandomModule();
            var mod          = generator.GeneratorRandomModule(
                suggests: new List <RelationshipDescriptor>
            {
                new ModuleRelationshipDescriptor {
                    name = suggested.identifier
                }
            }
                );

            list.Add(mod.identifier);
            suggested.recommends = new List <RelationshipDescriptor>
            {
                new ModuleRelationshipDescriptor {
                    name = recommendedA.identifier
                },
                new ModuleRelationshipDescriptor {
                    name = recommendedB.identifier
                }
            };

            AddToRegistry(mod, suggested, recommendedA, recommendedB);

            options.with_all_suggests = true;
            options.with_recommends   = true;
            var relationship_resolver = new RelationshipResolver(list, null, options, registry, null);
            var reason = relationship_resolver.ReasonFor(recommendedA);

            Assert.That(reason, Is.AssignableTo <SelectionReason.Recommended>());
            Assert.That(reason.Parent, Is.EqualTo(suggested));

            reason = relationship_resolver.ReasonFor(recommendedB);
            Assert.That(reason, Is.AssignableTo <SelectionReason.Recommended>());
            Assert.That(reason.Parent, Is.EqualTo(suggested));
        }
コード例 #2
0
ファイル: RelationshipResolver.cs プロジェクト: zicrog/CKAN
        public void ReasonFor_WithUserAddedMods_GivesReasonUserAdded()
        {
            var list = new List <string>();
            var mod  = generator.GeneratorRandomModule();

            list.Add(mod.identifier);
            registry.AddAvailable(mod);
            AddToRegistry(mod);

            var relationship_resolver = new RelationshipResolver(list, null, options, registry, null);
            var reason = relationship_resolver.ReasonFor(mod);

            Assert.That(reason, Is.AssignableTo <SelectionReason.UserRequested>());
        }
コード例 #3
0
ファイル: RelationshipResolver.cs プロジェクト: zicrog/CKAN
        public void ReasonFor_WithModsNotInList_ThrowsArgumentException()
        {
            var list = new List <string>();
            var mod  = generator.GeneratorRandomModule();

            list.Add(mod.identifier);
            registry.AddAvailable(mod);
            AddToRegistry(mod);
            var relationship_resolver = new RelationshipResolver(list, null, options, registry, null);

            var mod_not_in_resolver_list = generator.GeneratorRandomModule();

            CollectionAssert.DoesNotContain(relationship_resolver.ModList(), mod_not_in_resolver_list);
            Assert.Throws <ArgumentException>(() => relationship_resolver.ReasonFor(mod_not_in_resolver_list));
        }
コード例 #4
0
        public void ReasonFor_WithSugestedMods_GivesCorrectParent()
        {
            var list     = new List <string>();
            var sugested = generator.GeneratorRandomModule();
            var mod      = generator.GeneratorRandomModule(sugests: new List <RelationshipDescriptor> {
                new RelationshipDescriptor {
                    name = sugested.identifier
                }
            });

            list.Add(mod.identifier);
            AddToRegistry(mod, sugested);

            options.with_all_suggests = true;
            var relationship_resolver = new RelationshipResolver(list, options, registry, null);
            var reason = relationship_resolver.ReasonFor(sugested);

            Assert.That(reason, Is.AssignableTo <Relationship.Suggested>());
            Assert.That(reason.Parent, Is.EqualTo(mod));
        }
コード例 #5
0
ファイル: RelationshipResolver.cs プロジェクト: trakos/CFAN
        public void ReasonFor_WithSugestedMods_GivesCorrectParent()
        {
            var list     = new List <string>();
            var sugested = generator.GeneratorRandomModule();
            var mod      = generator.GeneratorRandomModule(
                depends: new List <ModDependency>
            {
                new ModDependency($"? {sugested.identifier}")
            }
                );

            list.Add(mod.identifier);
            AddToRegistry(mod, sugested);

            options.with_all_suggests = true;
            var modList = list.Select(p => new CfanModuleIdAndVersion(p));
            var relationship_resolver = new RelationshipResolver(modList, options, registry, null);
            var reason = relationship_resolver.ReasonFor(sugested);

            Assert.That(reason, Is.AssignableTo <SelectionReason.Suggested>());
            Assert.That(reason.Parent, Is.EqualTo(mod));
        }