public void CloudBlobDirectoryGetParent() { foreach (String delimiter in Delimiters) { CloudBlobClient client = GenerateCloudBlobClient(); client.DefaultDelimiter = delimiter; string name = GetRandomContainerName(); CloudBlobContainer container = client.GetContainerReference(name); try { container.Create(); CloudPageBlob blob = container.GetPageBlobReference("Dir1" + delimiter + "Blob1"); blob.Create(0); Assert.AreEqual("Dir1" + delimiter + "Blob1", blob.Name); // get the blob's parent CloudBlobDirectory parent = blob.Parent; Assert.AreEqual(parent.Prefix, "Dir1" + delimiter); // get container as parent CloudBlobDirectory root = parent.Parent; Assert.AreEqual(root.Prefix, ""); // make sure the parent of the container dir is null CloudBlobDirectory empty = root.Parent; Assert.IsNull(empty); // from container, get directory reference to container root = container.GetDirectoryReference(""); Assert.AreEqual("", root.Prefix); Assert.AreEqual(container.Uri.AbsoluteUri, root.Uri.AbsoluteUri); List <IListBlobItem> list = root.ListBlobs().ToList(); Assert.AreEqual(1, list.Count); // make sure the parent of the container dir is null empty = root.Parent; Assert.IsNull(empty); blob.DeleteIfExists(); } finally { container.DeleteIfExists(); } } }