Statistics
| Branch: | Revision:

root / trunk / Pithos.Core.Test / StatusCheckerTest.cs @ 99e6329f

History | View | Annotate | Download (3 kB)

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