void Verify_ToServiceDefinition_GivenXamlPresent(ResourceType resourceType, string category, string workflowXaml, bool hasWorkflowXaml, Action<XElement> verify)
{
//------------Setup for test--------------------------
Setup();
var eventPublisher = new EventPublisher();
var environmentModel = CreateMockEnvironment(eventPublisher);
var repo = new Mock<IResourceRepository>();
repo.Setup(r => r.FetchResourceDefinition(It.IsAny<IEnvironmentModel>(), It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<bool>())).Returns(MakeMessage(workflowXaml));
environmentModel.Setup(e => e.ResourceRepository).Returns(repo.Object);
var instanceID = Guid.NewGuid();
var model = new ResourceModel(environmentModel.Object)
{
ID = instanceID,
WorkflowXaml = hasWorkflowXaml ? new StringBuilder(workflowXaml) : null,
ResourceType = resourceType,
Category = category
};
//------------Execute Test---------------------------
var serviceDefinition = model.ToServiceDefinition();
//------------Assert Results-------------------------
var serviceElement = XElement.Parse(serviceDefinition.ToString());
Assert.IsNotNull(serviceElement);
verify(serviceElement);
}