public void BuildEntryCreateOrMoveInfoByRules_ExistsMatchedRule_BuildInfoCorrectly() { // Set up. var dummyFolderPath = $"Assets/{Paths.GetAddressablesFolderName()}"; var dummyAssetPath = $"{dummyFolderPath}/Prefabs/prefab_dummy_0001.prefab"; const string dummyAssetFileName = "prefab_dummy_0001.prefab"; var rule = new EntryRule(); rule.SetAddressablePathRule(@"Prefabs/prefab_dummy_(?<id>[0-9]{4})\.prefab"); rule.SetAddressingMode(AddressingMode.AssetName); rule.SetGroupNameRule("Group_${id}"); var rules = new EntryRuleSet(); rules.Add(rule); var assetDatabaseAdapter = new FakeAssetDatabaseAdapter(); var addressableFolderGuid = assetDatabaseAdapter.CreateTestAsset(dummyFolderPath, new Object()); var service = CreateBuildService(assetDatabaseAdapter); // Test. var entryOperationInfo = service.BuildEntryCreateOrMoveInfoByRules(dummyAssetPath, rules, addressableFolderGuid); Assert.That(entryOperationInfo.AssetPath, Is.EqualTo(dummyAssetPath)); Assert.That(entryOperationInfo.Address, Is.EqualTo(dummyAssetFileName)); }
public void BuildEntryCreateOrMoveInfo_NoRulesMatched_UseDefault() { // Set up. var dummyFolderPath = $"Assets/{Paths.GetAddressablesFolderName()}"; var dummyAssetPath = $"{dummyFolderPath}/Prefabs/prefab_dummy_0001.prefab"; const string address = "prefab_dummy_0001.prefab"; var assetDatabaseAdapter = new FakeAssetDatabaseAdapter(); var addressableFolderGuid = assetDatabaseAdapter.CreateTestAsset(dummyFolderPath, new Object()); var service = CreateBuildService(assetDatabaseAdapter); var addressingMode = AddressingMode.AssetName; var packingMode = PackingMode.PackTogether; var rule = new EntryRule(); rule.SetAddressablePathRule(@"__Prefabs/prefab_dummy_(?<id>[0-9]{4})\.prefab"); rule.SetAddressingMode(AddressingMode.AssetName); rule.SetGroupNameRule("Group_${id}"); var rules = new EntryRuleSet(); rules.Add(rule); // Test. var entryOperationInfo = service.BuildEntryCreateOrMoveInfo(dummyAssetPath, addressingMode, packingMode, addressableFolderGuid, rules); Assert.That(entryOperationInfo.AssetPath, Is.EqualTo(dummyAssetPath)); Assert.That(entryOperationInfo.Address, Is.EqualTo(address)); }