All files
[pithos-ms-client] / trunk / Pithos.Core.Test / StatusCheckerTest.cs
1 using System;
2 using NUnit.Framework;
3 using Pithos.Interfaces;
4
5 namespace Pithos.Core.Test
6 {
7     [TestFixture]
8     public class StatusCheckerTest
9     {
10         [Test]
11         public void TestFileCheck()
12         {
13
14             var files = new[] {Tuple.Create(@"e:\pithos\0File1.txt", FileOverlayStatus.Normal),
15                                      Tuple.Create(@"e:\pithos\0File2.txt", FileOverlayStatus.Conflict),
16                                      Tuple.Create(@"e:\pithos\0File3.txt", FileOverlayStatus.Modified),
17                                      Tuple.Create(@"e:\pithos\0File4.txt", FileOverlayStatus.Synch)
18                                     };
19
20             var checker = new StatusChecker();
21
22             foreach (var file in files)
23             {
24                 checker.SetFileOverlayStatus(file.Item1,file.Item2);
25             }
26
27             foreach (var file in files)
28             {
29
30                 var status = checker.GetFileOverlayStatus(file.Item1);                
31                 Assert.AreEqual(file.Item2,status);
32             }
33         }
34         
35         [Test]
36         public void TestFileRemoval()
37         {
38
39             var files = new[] {Tuple.Create(@"e:\pithos\0File1.txt", FileOverlayStatus.Normal),
40                                      Tuple.Create(@"e:\pithos\0File2.txt", FileOverlayStatus.Conflict),
41                                      Tuple.Create(@"e:\pithos\0File3.txt", FileOverlayStatus.Modified),
42                                      Tuple.Create(@"e:\pithos\0File4.txt", FileOverlayStatus.Synch)
43                                     };
44
45             var checker = new StatusChecker();
46
47             foreach (var file in files)
48             {
49                 checker.SetFileOverlayStatus(file.Item1,file.Item2);
50             }
51
52             checker.RemoveFileOverlayStatus(@"e:\pithos\0File3.txt");
53             var status = checker.GetFileOverlayStatus(@"e:\pithos\0File3.txt");                
54             Assert.AreEqual(FileOverlayStatus.NA,status);
55             
56         }
57
58
59
60         [Test]
61         public void TestNonExistent()
62         {
63             var files = new[]
64                             {
65                                 Tuple.Create(@"e:\pithos\0File1.txt", FileOverlayStatus.Normal),
66                                 Tuple.Create(@"e:\pithos\0File2.txt", FileOverlayStatus.Conflict),
67                                 Tuple.Create(@"e:\pithos\0File3.txt", FileOverlayStatus.Modified),
68                                 Tuple.Create(@"e:\pithos\0File4.txt", FileOverlayStatus.Synch)
69                             };
70
71             var checker = new StatusChecker();
72
73             foreach (var file in files)
74             {
75                 checker.SetFileOverlayStatus(file.Item1, file.Item2);
76             }
77
78             
79                 var status = checker.GetFileOverlayStatus(@"e:\pithos\notexisting");
80             Assert.AreEqual(FileOverlayStatus.NA,status);
81
82
83         }
84     }
85 }