Exemplo n.º 1
0
        public void MultipleDefsTest()
        {
            void AssertFilteredDefs(IEnumerable <string> firstTimeSeenPackageIds,
                                    IEnumerable <string> expectedDefNames, string assertionMessage)
            {
                var results = UpdateFeatureManager.FilterFeatureDefsByMatchingAudience(
                    defs, firstTimeSeenPackageIds.Contains, null
                    ).Select(d => d.defName);

                Assert.That(results, Is.EquivalentTo(expectedDefNames), assertionMessage);
            }

            AssertFilteredDefs(
                new[] { "mod1", "mod2" },
                new[] { "2", "4", "5" },
                "both first seen"
                );
            AssertFilteredDefs(
                new[] { "mod1" },
                new[] { "2", "4" },
                "mod1 first seen"
                );
            AssertFilteredDefs(
                new[] { "mod2" },
                new[] { "1", "3", "4", "5" },
                "mod2 first seen"
                );
            AssertFilteredDefs(
                Enumerable.Empty <string>(),
                new[] { "1", "3", "4" },
                "none first seen"
                );
        }
Exemplo n.º 2
0
        public void NullPackageIdTest()
        {
            var noPackageDef = new UpdateFeatureDef();

            Assert.IsNull(noPackageDef.modContentPack);
            Assert.IsNull(noPackageDef.OverridePackageId);
            Assert.Throws <InvalidOperationException>(() => {
                var _ = UpdateFeatureManager.FilterFeatureDefsByMatchingAudience(
                    new[] { noPackageDef }, s => false, ex => throw ex
                    ).ToArray();
            }
                                                      );
        }