public void ResourceModel_DataList_Setter_UpdatedDataListSectionInServiceDefinition()
{
Setup();
const string newDataList = @"<DataList>
<Country />
<State />
<City>
<Name />
<GeoLocation />
</City>
</DataList>";
var environmentModel = CreateMockEnvironment(new Mock<IEventPublisher>().Object);
var resourceModel = new ResourceModel(environmentModel.Object)
{
ResourceName = "test",
ResourceType = ResourceType.Service,
WorkflowXaml = new StringBuilder(@"
<Service Name=""abc"">
<Inputs/>
<Outputs/>
<DataList>
<Country/>
<State />
<City>
<Name/>
<GeoLocation />
</City>
</DataList>
</Service>
")
};
var eventWasFired = false;
resourceModel.OnDataListChanged += () =>
{
eventWasFired = true;
};
resourceModel.DataList = newDataList;
string result = resourceModel.DataList;
var xe = resourceModel.WorkflowXaml.ToXElement();
var dlElms = xe.Elements("DataList");
var firstOrDefault = dlElms.FirstOrDefault();
if (firstOrDefault != null)
{
var wfResult = firstOrDefault.ToString(SaveOptions.None);
StringAssert.Contains(result, wfResult);
Assert.IsTrue(eventWasFired);
}
else
{
Assert.Fail();
}
}