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); } }
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); }
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]); }
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); }
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); }
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); }