public void ContainsMatch_WithInactiveOnes_Negative_Test() { EmkResourceCollection collection = new EmkResourceCollection(); collection.Add(new EmkResource() { SiteAlias = "ABC", ResourceAlias = "77/7" }); collection.Add(new EmkResource() { SiteAlias = "ABC", ResourceAlias = "88/8", IsActive = false }); collection.Add(new EmkResource() { SiteAlias = "ABC", ResourceAlias = "99/9" }); OperationResource opRes = new OperationResource() { FullName = "1.2.3 ABC 88/8 LF", }; Assert.IsFalse(collection.ContainsMatch(opRes)); }
public void ContainsMatch_Positive_Test() { EmkResourceCollection collection = new EmkResourceCollection(); collection.Add(new EmkResource() { SiteAlias = "ABC", ResourceAlias = "77/7" }); collection.Add(new EmkResource() { SiteAlias = "ABC", ResourceAlias = "88/8" }); collection.Add(new EmkResource() { SiteAlias = "ABC", ResourceAlias = "99/9" }); OperationResource opRes = new OperationResource() { FullName = "1.2.3 ABC 88/8 LF", }; Assert.IsTrue(collection.ContainsMatch(opRes)); }
IEnumerable <OperationResource> IEmkServiceInternal.GetFilteredResources(IEnumerable <OperationResource> resources) { lock (SyncRoot) { // We only want to filter the active resources. Yet if the user hasn't configured any active items, deliver everything. Func <OperationResource, bool> filter = null; if (HasAnyActiveResourcesConfigured()) { filter = item => _emkResources.ContainsMatch(item); } else { filter = item => true; } foreach (OperationResource candidate in resources.Where(filter)) { yield return(candidate); } } }