public void Apply_Remove_CanRemove() { // Set up services. var addressablesEditorService = new FakeAddressablesEditorAdapter(); var assetDatabaseService = new FakeAssetDatabaseAdapter(); var service = new EntryOperationInfoApplyDomainService(addressablesEditorService, assetDatabaseService); // Set up test assets. const string groupName = "BeforeGroup"; var beforeGroupInfo = addressablesEditorService.CreateGroup(groupName, false, false, false, null, null); const string createdAssetPath = "Assets/Prefabs/prefab_test.prefab"; var groupTemplate = ScriptableObject.CreateInstance <AddressableAssetGroupTemplate>(); assetDatabaseService.CreateTestAsset("Assets/TestGroupTemplate.asset", groupTemplate); var assetGuid = assetDatabaseService.CreateTestAsset(createdAssetPath, new GameObject()); addressablesEditorService.CreateOrMoveEntry(assetGuid, beforeGroupInfo.Guid); var beforeGroup = addressablesEditorService.Groups.Values.First(x => x.Name.Equals(groupName)); Assert.That(beforeGroup.Entries.Count, Is.EqualTo(1)); // Test. var removeOperationInfo = new EntryRemoveOperationInfo(createdAssetPath); var operationInfo = new EntryOperationInfo(null, removeOperationInfo); service.Apply(operationInfo); Assert.That(beforeGroup.Entries.Count, Is.Zero); Assert.That(addressablesEditorService.Groups.Count, Is.Zero); }
private bool ApplyRemoveInfo(EntryRemoveOperationInfo info) { if (info == null) { throw new ArgumentNullException(nameof(info)); } Assert.IsFalse(string.IsNullOrEmpty(info.AssetPath)); RemoveEntry(info.AssetPath, true); return(true); }