internal ServiceRequirement( ServiceRequirementCollection holder, string serviceAssemblyQualifiedName, RunningRequirement requirement ) : this( holder ) { Debug.Assert( serviceAssemblyQualifiedName != null ); AssemblyQualifiedName = serviceAssemblyQualifiedName; _req = requirement; }
void ServiceRequirementCollectionEvents(ServiceRequirementCollection collection) { string id = "service.full.name"; ServiceRequirementCollectionChangingEventArgs lastChanging = null; ServiceRequirementCollectionChangedEventArgs lastChanged = null; int changingCount = 0; int changedCount = 0; collection.Changing += (o, e) => { lastChanging = e; changingCount++; }; collection.Changed += (o, e) => { lastChanged = e; changedCount++; }; // Check add ServiceRequirement req = collection.AddOrSet(id, RunningRequirement.MustExistAndRun); Assert.That(changedCount == 1 && changingCount == 1); Assert.That(lastChanging.Action == CK.Core.ChangeStatus.Add); Assert.That(lastChanged.Action == CK.Core.ChangeStatus.Add); Assert.That(lastChanging.Collection == collection); Assert.That(lastChanged.Collection == collection); Assert.That(lastChanging.AssemblyQualifiedName == id); Assert.That(lastChanged.AssemblyQualifiedName == id); Assert.That(lastChanging.Requirement == RunningRequirement.MustExistAndRun); Assert.That(lastChanged.Requirement == RunningRequirement.MustExistAndRun); changedCount = 0; changingCount = 0; // Check delete : from the collection collection.Remove(id); Assert.That(changedCount == 1 && changingCount == 1); Assert.That(lastChanging.Action == CK.Core.ChangeStatus.Delete); Assert.That(lastChanged.Action == CK.Core.ChangeStatus.Delete); Assert.That(lastChanging.Collection == collection); Assert.That(lastChanged.Collection == collection); Assert.That(lastChanging.AssemblyQualifiedName == id); Assert.That(lastChanged.AssemblyQualifiedName == id); Assert.That(lastChanging.Requirement == RunningRequirement.MustExistAndRun); Assert.That(lastChanged.Requirement == RunningRequirement.MustExistAndRun); changedCount = 0; changingCount = 0; // Check clear collection.Clear(); Assert.That(changedCount == 1 && changingCount == 1); Assert.That(lastChanging.Action == CK.Core.ChangeStatus.ContainerClear); Assert.That(lastChanged.Action == CK.Core.ChangeStatus.ContainerClear); Assert.That(lastChanging.Collection == collection); Assert.That(lastChanged.Collection == collection); Assert.That(lastChanging.AssemblyQualifiedName == string.Empty); Assert.That(lastChanged.AssemblyQualifiedName == string.Empty); Assert.That(lastChanging.Requirement == 0); Assert.That(lastChanged.Requirement == 0); }
internal ServiceRequirement( ServiceRequirementCollection holder ) { Debug.Assert( holder != null ); _holder = holder; }
/// <summary> /// Initializes a new <see cref="RequirementLayer"/>. /// </summary> /// <param name="layerName">Optional name for the requirements.</param> public RequirementLayer( string layerName ) { LayerName = layerName; _pluginRequirements = new PluginRequirementCollection(); _serviceRequirements = new ServiceRequirementCollection(); }
void ServiceRequirementCollectionEvents( ServiceRequirementCollection collection ) { string id = "service.full.name"; ServiceRequirementCollectionChangingEventArgs lastChanging = null; ServiceRequirementCollectionChangedEventArgs lastChanged = null; int changingCount = 0; int changedCount = 0; collection.Changing += ( o, e ) => { lastChanging = e; changingCount++; }; collection.Changed += ( o, e ) => { lastChanged = e; changedCount++; }; // Check add ServiceRequirement req = collection.AddOrSet( id, RunningRequirement.MustExistAndRun ); Assert.That( changedCount == 1 && changingCount == 1 ); Assert.That( lastChanging.Action == CK.Core.ChangeStatus.Add ); Assert.That( lastChanged.Action == CK.Core.ChangeStatus.Add ); Assert.That( lastChanging.Collection == collection ); Assert.That( lastChanged.Collection == collection ); Assert.That( lastChanging.AssemblyQualifiedName == id ); Assert.That( lastChanged.AssemblyQualifiedName == id ); Assert.That( lastChanging.Requirement == RunningRequirement.MustExistAndRun ); Assert.That( lastChanged.Requirement == RunningRequirement.MustExistAndRun ); changedCount = 0; changingCount = 0; // Check delete : from the collection collection.Remove( id ); Assert.That( changedCount == 1 && changingCount == 1 ); Assert.That( lastChanging.Action == CK.Core.ChangeStatus.Delete ); Assert.That( lastChanged.Action == CK.Core.ChangeStatus.Delete ); Assert.That( lastChanging.Collection == collection ); Assert.That( lastChanged.Collection == collection ); Assert.That( lastChanging.AssemblyQualifiedName == id ); Assert.That( lastChanged.AssemblyQualifiedName == id ); Assert.That( lastChanging.Requirement == RunningRequirement.MustExistAndRun ); Assert.That( lastChanged.Requirement == RunningRequirement.MustExistAndRun ); changedCount = 0; changingCount = 0; // Check clear collection.Clear(); Assert.That( changedCount == 1 && changingCount == 1 ); Assert.That( lastChanging.Action == CK.Core.ChangeStatus.ContainerClear ); Assert.That( lastChanged.Action == CK.Core.ChangeStatus.ContainerClear ); Assert.That( lastChanging.Collection == collection ); Assert.That( lastChanged.Collection == collection ); Assert.That( lastChanging.AssemblyQualifiedName == string.Empty ); Assert.That( lastChanged.AssemblyQualifiedName == string.Empty ); Assert.That( lastChanging.Requirement == 0 ); Assert.That( lastChanged.Requirement == 0 ); }