Statistics
| Branch: | Revision:

root / trunk / Pithos.Core.Test / StatusCheckerTest.cs @ eeee29e3

History | View | Annotate | Download (2.9 kB)

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 InMemStatusChecker();
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 InMemStatusChecker();
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 InMemStatusChecker();
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
}