~ubuntu-branches/ubuntu/vivid/simplestreams/vivid-updates

« back to all changes in this revision

Viewing changes to tests/unittests/test_resolvework.py

  • Committer: Package Import Robot
  • Author(s): Scott Moser
  • Date: 2013-03-26 01:10:01 UTC
  • Revision ID: package-import@ubuntu.com-20130326011001-342bcgb65worw4r8
Tags: upstream-0.1.0~bzr191
ImportĀ upstreamĀ versionĀ 0.1.0~bzr191

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from unittest import TestCase
 
2
from simplestreams.util import resolve_work
 
3
 
 
4
class TestStreamResolveWork(TestCase):
 
5
 
 
6
    def tryit(self, src=[], target=[], max=None, keep=False, filter=None,
 
7
              add=[], remove=[]):
 
8
        (r_add, r_remove) = resolve_work(src, target, max=max, keep=keep,
 
9
                                         filter=filter)
 
10
        self.assertEqual(r_add, add)
 
11
        self.assertEqual(r_remove, remove)
 
12
 
 
13
    def test_keep_with_max_none_is_exception(self):
 
14
        self.assertRaises(TypeError, resolve_work, [1], [2], None, True)
 
15
 
 
16
    def test_full_replace(self):
 
17
        src = [10, 9, 8]
 
18
        target = [7, 6, 5]
 
19
        self.tryit(src=src, target=target, add=src, remove=target)
 
20
 
 
21
    def test_only_new_with_max(self):
 
22
        self.tryit(src=[10, 9, 8], target=[7, 6, 5],
 
23
                   add=[10, 9], remove=[7, 6, 5], max=2)
 
24
 
 
25
    def test_only_new_with_keep(self):
 
26
        self.tryit(src=[10, 9, 8], target=[7, 6, 5],
 
27
                   add=[10, 9, 8], remove=[6, 5], max=4, keep=True)
 
28
 
 
29
    def test_only_remove(self):
 
30
        self.tryit(src=[3], target=[3, 2, 1], add=[], remove=[2, 1])
 
31
 
 
32
    def test_only_remove_with_keep(self):
 
33
        self.tryit(src=[3], target=[3, 2, 1], 
 
34
                   add=[], remove=[], max=3, keep=True)
 
35
 
 
36
    def test_only_remove_with_max(self):
 
37
        self.tryit(src=[3], target=[3, 2, 1],
 
38
                   add=[], remove=[2, 1], max=2)
 
39
    
 
40
    def test_only_remove_with_no_max(self):
 
41
        self.tryit(src=[3], target=[3, 2, 1],
 
42
                   add=[], remove=[2, 1], max=None)
 
43
 
 
44
    def test_null_remote_without_keep(self):
 
45
        self.tryit(src=[], target=[3,2,1], add=[], remove=[3, 2, 1])
 
46
 
 
47
    def test_null_remote_with_keep(self):
 
48
        self.tryit(src=[], target=[3,2,1], max=3, keep=True, add=[], remove=[])
 
49
 
 
50
    def test_null_remote_without_keep(self):
 
51
        self.tryit(src=[], target=[3,2,1], max=3, keep=False, add=[],
 
52
                   remove=[3,2,1])
 
53
 
 
54
    def test_max_forces_remove(self):
 
55
        self.tryit(src=[2,1], target=[2,1], max=1, keep=False,
 
56
                   add=[], remove=[1])
 
57
 
 
58
    def test_nothing_needed_with_max(self):
 
59
        self.tryit(src=[1], target=[1], max=1, keep=False, add=[], remove=[])
 
60
 
 
61
    def test_filtered_items_not_present(self):
 
62
        self.tryit(src=[1,2,3,4,5], target=[1], max=None, keep=False,
 
63
                   filter=lambda a: a < 3, add=[2], remove=[])
 
64
 
 
65
    def test_max_and_target_has_newest(self):
 
66
        self.tryit(src=[1,2,3,4], target=[4], max=1, keep=False,
 
67
                   add=[], remove=[])
 
68
 
 
69
# vi: ts=4 expandtab