public virtual IEnumerable<ItemType> GetItemsToCollect(OVAL.Definitions.ObjectType objectType, VariablesEvaluated variables) { var serviceNameEntity = ((runlevel_object)objectType).GetItemValue("service_name"); var serviceNameValues = this.EvaluateVariable((EntityObjectStringType)serviceNameEntity, variables); IEnumerable<string> serviceUniverse = null; var operation = ((EntitySimpleBaseType)serviceNameEntity).operation; if (operation == OperationEnumeration.patternmatch) { serviceUniverse = GetServiceUniverse(); serviceNameValues = this.DoPatternMatch(serviceNameValues, serviceUniverse); } else if (operation == OperationEnumeration.notequal) { serviceUniverse = GetServiceUniverse(); serviceNameValues = this.NotEqualOperation(serviceNameValues, serviceUniverse); } var runLevelEntity = ((runlevel_object)objectType).GetItemValue("runlevel"); var runLevelValues = this.EvaluateVariable((EntityObjectStringType)runLevelEntity, variables); var itemsToCollect = new List<ItemType>(); foreach (var serviceName in serviceNameValues) { foreach (var runLevelName in runLevelValues) { var newItemToCollect = new runlevel_item() { service_name = OvalHelper.CreateItemEntityWithStringValue(serviceName), runlevel = OvalHelper.CreateItemEntityWithStringValue(runLevelName) }; itemsToCollect.Add(newItemToCollect); } } return itemsToCollect; }
private void AssertRunlevelItem( runlevel_item runlevelItemToAssert, string expectedServiceName, string expectedRunlevelValue) { ItemTypeEntityChecker.AssertItemTypeEntity(runlevelItemToAssert.service_name, expectedServiceName); ItemTypeEntityChecker.AssertItemTypeEntity(runlevelItemToAssert.runlevel, expectedRunlevelValue); Assert.IsNull(runlevelItemToAssert.start); Assert.IsNull(runlevelItemToAssert.kill); }