public void WhenReferencesContainPreviousSceneAssetDependencies_FilterReferencesForAsset_PrunesPreviousAssetDependencies([Values] bool containsPreviousSceneAsset)
        {
            var assetInBundle               = new GUID("00000000000000000000000000000001");
            var referenceNotInBundle        = new GUID("00000000000000000000000000000000");
            List <ObjectIdentifier> objects = CreateObjectIdentifierList("path", referenceNotInBundle);
            IDependencyData         dep     = GetDependencyData(objects, assetInBundle);

            var references = new List <ObjectIdentifier>(objects);
            var previousSceneReferences = new HashSet <GUID>();

            if (containsPreviousSceneAsset)
            {
                previousSceneReferences.Add(assetInBundle);
            }
            GenerateBundlePacking.FilterReferencesForAsset(dep, assetInBundle, references, new HashSet <ObjectIdentifier>(), previousSceneReferences);

            if (containsPreviousSceneAsset)
            {
                Assert.AreEqual(0, references.Count);
            }
            else
            {
                Assert.AreEqual(1, references.Count);
            }
        }
Beispiel #2
0
        public void WhenReferencesContainsAssetsInBundles_FilterReferencesForAsset_PrunesAssetsInBundles()
        {
            var assetInBundle = new GUID("00000000000000000000000000000000");
            List <ObjectIdentifier> objects = CreateObjectIdentifierList("path", assetInBundle);
            IDependencyData         dep     = GetDependencyData(objects, assetInBundle);

            var references = new List <ObjectIdentifier>(objects);

            GenerateBundlePacking.FilterReferencesForAsset(dep, assetInBundle, references);
            Assert.AreEqual(0, references.Count);
        }
Beispiel #3
0
        public void WhenReferencesAreUnique_FilterReferencesForAsset_ReturnsReferences()
        {
            var assetInBundle = new GUID("00000000000000000000000000000000");
            List <ObjectIdentifier> objects = CreateObjectIdentifierList("path", assetInBundle, assetInBundle);
            IDependencyData         dep     = GetDependencyData(objects, assetInBundle);

            var         references = new List <ObjectIdentifier>(objects);
            List <GUID> results    = GenerateBundlePacking.FilterReferencesForAsset(dep, assetInBundle, references);

            Assert.AreEqual(1, results.Count);
            Assert.AreEqual(assetInBundle, results[0]);
        }
Beispiel #4
0
        public void WhenReferencesContainsRefsIncludedByCircularAssetsWithLowerGuid_FilterReferencesForAsset_PrunesRefsIncludedByCircularAssetsWithLowerGuid()
        {
            var assetNotInBundle            = new GUID("00000000000000000000000000000001");
            var referenceInBundle           = new GUID("00000000000000000000000000000000");
            List <ObjectIdentifier> objects = CreateObjectIdentifierList("path", assetNotInBundle); // circular reference to asset whose references we want to filter
            IDependencyData         dep     = GetDependencyData(objects, referenceInBundle);

            List <ObjectIdentifier> references = CreateObjectIdentifierList("path", referenceInBundle, assetNotInBundle);

            GenerateBundlePacking.FilterReferencesForAsset(dep, assetNotInBundle, references);
            Assert.AreEqual(0, references.Count);
        }
Beispiel #5
0
        public void WhenReferencesContainsRefsIncludedByNonCircularAssets_FilterReferencesForAsset_PrunesRefsIncludedByNonCircularAssets()
        {
            var assetNotInBundle            = new GUID("00000000000000000000000000000000");
            var referenceInBundle           = new GUID("00000000000000000000000000000001");
            var referenceNotInBundle        = new GUID("00000000000000000000000000000002");
            List <ObjectIdentifier> objects = CreateObjectIdentifierList("path", referenceNotInBundle);
            IDependencyData         dep     = GetDependencyData(objects, referenceInBundle);

            List <ObjectIdentifier> references = CreateObjectIdentifierList("path", referenceInBundle, referenceNotInBundle);

            GenerateBundlePacking.FilterReferencesForAsset(dep, assetNotInBundle, references);
            Assert.AreEqual(0, references.Count);
        }
Beispiel #6
0
        public void WhenReferencesDoesNotContainAssetsInBundles_FilterReferences_PrunesNothingAndReturnsNothing()
        {
            var assetInBundle = new GUID("00000000000000000000000000000000");
            List <ObjectIdentifier> objects = CreateObjectIdentifierList("path", assetInBundle);
            IDependencyData         dep     = new BuildDependencyData();

            var         references = new List <ObjectIdentifier>(objects);
            List <GUID> results    = GenerateBundlePacking.FilterReferencesForAsset(dep, assetInBundle, references);

            Assert.AreEqual(1, references.Count);
            Assert.AreEqual(assetInBundle, references[0].guid);
            Assert.AreEqual(0, results.Count);
        }