Statistics
| Branch: | Revision:

root / trunk / Pithos.Core.Test / StatusCheckerTest.cs @ 5120f3cb

History | View | Annotate | Download (3 kB)

1
using System;
2
using System.Linq;
3
using Castle.ActiveRecord;
4
using NUnit.Framework;
5
using Pithos.Core.Agents;
6
using Pithos.Interfaces;
7

    
8
namespace Pithos.Core.Test
9
{
10
    [TestFixture]
11
    public class StatusCheckerTest
12
    {
13
        [Test]
14
        public void TestFileCheck()
15
        {
16

    
17
            var files = new[] {Tuple.Create(@"e:\pithos\0File1.txt", FileOverlayStatus.Normal),
18
                                     Tuple.Create(@"e:\pithos\0File2.txt", FileOverlayStatus.Conflict),
19
                                     Tuple.Create(@"e:\pithos\0File3.txt", FileOverlayStatus.Modified),
20
                                     Tuple.Create(@"e:\pithos\0File4.txt", FileOverlayStatus.Modified)
21
                                    };
22

    
23
            var checker = new MockStatusChecker();
24

    
25
            foreach (var file in files)
26
            {
27
                checker.SetFileOverlayStatus(file.Item1,file.Item2);
28
            }
29

    
30
            foreach (var file in files)
31
            {
32

    
33
                var status = checker.GetFileOverlayStatus(file.Item1);                
34
                Assert.AreEqual(file.Item2,status);
35
            }
36
        }
37
        
38
        [Test]
39
        public void TestFileRemoval()
40
        {
41

    
42
            var files = new[] {Tuple.Create(@"e:\pithos\0File1.txt", FileOverlayStatus.Normal),
43
                                     Tuple.Create(@"e:\pithos\0File2.txt", FileOverlayStatus.Conflict),
44
                                     Tuple.Create(@"e:\pithos\0File3.txt", FileOverlayStatus.Modified),
45
                                     Tuple.Create(@"e:\pithos\0File4.txt", FileOverlayStatus.Modified)
46
                                    };
47

    
48
            var checker = new MockStatusChecker();
49

    
50
            foreach (var file in files)
51
            {
52
                checker.SetFileOverlayStatus(file.Item1,file.Item2);
53
            }
54

    
55
            checker.RemoveFileOverlayStatus(@"e:\pithos\0File3.txt");
56
            var status = checker.GetFileOverlayStatus(@"e:\pithos\0File3.txt");                
57
            Assert.AreEqual(FileOverlayStatus.Unversioned,status);
58
            
59
        }
60

    
61

    
62

    
63
        [Test]
64
        public void TestNonExistent()
65
        {
66
            var files = new[]
67
                            {
68
                                Tuple.Create(@"e:\pithos\0File1.txt", FileOverlayStatus.Normal),
69
                                Tuple.Create(@"e:\pithos\0File2.txt", FileOverlayStatus.Conflict),
70
                                Tuple.Create(@"e:\pithos\0File3.txt", FileOverlayStatus.Modified),
71
                                Tuple.Create(@"e:\pithos\0File4.txt", FileOverlayStatus.Modified)
72
                            };
73

    
74
            var checker = new MockStatusChecker();
75

    
76
            foreach (var file in files)
77
            {
78
                checker.SetFileOverlayStatus(file.Item1, file.Item2);
79
            }
80

    
81
            
82
                var status = checker.GetFileOverlayStatus(@"e:\pithos\notexisting");
83
            Assert.AreEqual(FileOverlayStatus.Unversioned,status);
84

    
85

    
86
        }
87

    
88
    }
89
}