- var source= new[]
- {
- new ObjectInfo{Account=account,Container=container,Name="Path1",Content_Type="application/directory"},
- new ObjectInfo{Account=account,Container=container,Name="Path1/Path11",Content_Type="application/folder"},
- new ObjectInfo{Account=account,Container=container,Name="Path1/Path11/Path111"},
- new ObjectInfo{Account=account,Container=container,Name="Path1/Path11/Path111/File1",Content_Type="application/octet-stream"},
- new ObjectInfo{Account=account,Container=container,Name="Path1/File2"},
- new ObjectInfo{Account=account,Container=container,Name="Path2/File2"},
- new ObjectInfo{Account=account,Container=container,Name="Path2/Path21/File2"},
- new ObjectInfo{Account=account,Container=container,Name="File02"},
- new ObjectInfo{Account=account,Container=container,Name="File03"}
- };
+ var source = new[]
+ {
+ new ObjectInfo
+ {
+ Account = account,
+ Container = container,
+ Name = "Path1",
+ Content_Type = "application/directory"
+ },
+ new ObjectInfo
+ {
+ Account = account,
+ Container = container,
+ Name = "Path1/Path11",
+ Content_Type = "application/folder"
+ },
+ new ObjectInfo
+ {Account = account, Container = container, Name = "Path1/Path11/Path111"},
+ new ObjectInfo
+ {
+ Account = account,
+ Container = container,
+ Name = "Path1/Path11/Path111/File1",
+ Content_Type = "application/octet-stream"
+ },
+ new ObjectInfo {Account = account, Container = container, Name = "Path1/File2"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path1/File3"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path1/File"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path2/File2"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path2/Path21/File2"},
+ new ObjectInfo {Account = account, Container = container, Name = "File02"},
+ new ObjectInfo {Account = account, Container = container, Name = "File03"}
+ };
+
+ var tree = source. ToTree();
+ var allNodes = (from DirectoryRecord root in tree
+ from DirectoryRecord record in root
+ select record).ToList();
+ Assert.That(allNodes.Count, Is.EqualTo(5));
+ }
+ public void InferFromPath()
+ {
+
+ var account = "someaccount";
+ var container = "Root";
+ var source = new[]
+ {
+ new ObjectInfo {Account = account, Container = container, Name = "Path1/File2"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path1/File3"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path1/Path11/Path111/File3"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path2"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path2/Path21",Content_Type="application/directory"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path2/Path21/Path01",Content_Type="application/directory"},
+ new ObjectInfo {Account = account, Container = container, Name = "Path2/Path21/File211"},
+ new ObjectInfo {Account = account, Container = container, Name = "x2",Content_Type="application/directory"},
+ new ObjectInfo {Account = account, Container = container, Name = "x2/x21",Content_Type="application/directory"},
+ new ObjectInfo {Account = account, Container = container, Name = "x2/x22",Content_Type="application/directory"},
+ };