4 using Pithos.ShellExtensions.Overlays;
6 namespace Pithos.ShellExtensions.Test
9 public class IconOverlayTest
11 public const int S_OK = 0x0000;
12 public const int S_FALSE = 0x0001;
17 var ioc = IoC.Current;
18 var catalog = new AggregateCatalog();
19 catalog.Catalogs.Add(new AssemblyCatalog(Assembly.GetExecutingAssembly()));
21 ioc.Container = new CompositionContainer(catalog);
26 public void CreateOverlayTest()
28 var normalOverlay=new NormalIconOverlay();
30 Assert.IsFalse(String.IsNullOrWhiteSpace(normalOverlay.IconPath ));
31 Assert.IsFalse(String.IsNullOrWhiteSpace(normalOverlay.OverlayName));
32 Assert.AreEqual("0PithosNormal", normalOverlay.OverlayName);
34 var iconPath = @"C:\Program Files\Common Files\TortoiseOverlays\icons\XPStyle\";
36 Assert.AreEqual(Path.Combine(iconPath,"NormalIcon.ico"),normalOverlay.IconPath);
38 var conflictOverlay = new ConflictIconOverlay();
39 Assert.AreEqual(Path.Combine(iconPath, "ConflictIcon.ico"), conflictOverlay.IconPath);
41 var modifiedOverlay = new ModifiedIconOverlay();
42 Assert.AreEqual(Path.Combine(iconPath, "ModifiedIcon.ico"), modifiedOverlay.IconPath);
44 var synchOverlay = new SynchIconOverlay();
45 Assert.AreEqual(Path.Combine(iconPath, "SynchIcon.ico"), synchOverlay.IconPath);
49 public void TestMembership()
51 var overlay=new NormalIconOverlay();
53 var status = overlay.IsMemberOf(@"e:\pithos\0file.txt", 0);
54 Assert.AreEqual(status,S_OK);
56 status = overlay.IsMemberOf(@"e:\Pithos\0file.txt", 0);
57 Assert.AreEqual(status, S_OK,"Failed checking Camel cased folder");
59 status = overlay.IsMemberOf(@"e:\Pithos\", 0);
60 Assert.AreEqual(status, S_OK,"Failed checking camel folder with slash");
62 status = overlay.IsMemberOf(@"e:\pithos\", 0);
63 Assert.AreEqual(status, S_OK,"Failed lower folder with slash");
65 status = overlay.IsMemberOf(@"e:\pithos", 0);
66 Assert.AreEqual(status, S_OK,"Failed lower folder no slash");
68 status = overlay.IsMemberOf(@"e:\0file.txt", 0);
69 Assert.AreEqual(status, S_FALSE,"Failed unrelated file");
71 status = overlay.IsMemberOf(@"e:\pithos\1file.txt", 0);
72 Assert.AreEqual(status, S_FALSE,"Failed different state file");