public void ShouldNotThrowTryingToDeleteAssetWithActiveLocators()
{
IAsset asset = CreateAsset(_mediaContext, _smallWmv, AssetCreationOptions.None);
IAccessPolicy accessPolicy = _mediaContext.AccessPolicies.Create("ReadOnly", TimeSpan.FromMinutes(60), AccessPermissions.Read);
ILocator sasLocator = _mediaContext.Locators.CreateSasLocator(asset, accessPolicy);
ILocator originLocator = _mediaContext.Locators.CreateLocator(LocatorType.OnDemandOrigin, asset, accessPolicy);
Assert.IsNotNull(_mediaContext.Locators.Where(l => l.Id == sasLocator.Id).SingleOrDefault());
Assert.IsNotNull(_mediaContext.Locators.Where(l => l.Id == originLocator.Id).SingleOrDefault());
asset = _mediaContext.Assets.Where(a => a.Id == asset.Id).Single();
Assert.AreEqual(3, asset.Locators.Count);
Assert.IsTrue(asset.Locators.Any(l => l.Id == sasLocator.Id));
Assert.IsTrue(asset.Locators.Any(l => l.Id == originLocator.Id));
asset.Delete();
Assert.IsNull(_mediaContext.Locators.Where(l => l.Id == sasLocator.Id).SingleOrDefault());
Assert.IsNull(_mediaContext.Locators.Where(l => l.Id == originLocator.Id).SingleOrDefault());
}