+import unittest
+
from wizard import resolve
-def test_resolve_simple():
- contents = """
+class TestResolve(unittest.TestCase):
+
+ def test_resolve_simple(self):
+ contents = """
foo
bar
<<<<<<< HEAD
baz
+|||||||
+bal
=======
boo
>>>>>>> upstream
bing
"""
- spec = """
+ spec = """
<<<<<<<
baz
=======
boo
>>>>>>>
"""
- result = [0]
- assert resolve.resolve(contents, spec, result) == """
+ result = [0]
+ self.assertEqual(resolve.resolve(contents, spec, result), """
foo
bar
boo
bing
+""")
+
+ def test_resolve_simple_constrained(self):
+ contents = """
+1
+<<<<<<< HEAD
+2.1
+|||||||
+2
+=======
+2.a
+>>>>>>> upstream
+3
+"""
+ spec = """
+<<<<<<< HEAD
+2.1
+|||||||
+2
+=======
+2.a
+>>>>>>> upstream
"""
+ result = [0]
+ self.assertEqual(resolve.resolve(contents, spec, result), """
+1
+2.a
+3
+""")
-def test_resolve_wildcard():
- contents = """
+ def test_resolve_wildcard(self):
+ contents = """
foo
bar
<<<<<<< HEAD
uncommon
still uncommon
+|||||||
+something else
=======
transformed common
>>>>>>> 456ef127bf8531bb363b1195172c71bce3747ae7
baz
"""
- spec = """
+ spec = """
<<<<<<<
common
***1***
>>>>>>>
"""
- result = [0, 1]
- assert resolve.resolve(contents, spec, result) == """
+ result = [0, 1]
+ self.assertEqual(resolve.resolve(contents, spec, result), """
foo
bar
transformed common
still uncommon
baz
-"""
+""")
-def test_resolve_user():
- contents = """
+ def test_resolve_user(self):
+ contents = """
top
<<<<<<<
bar
the user is right
baz
+|||||||
+something wonderful
=======
blah blah
>>>>>>>
bottom
<<<<<<<
Unrelated conflict
+|||||||
+something conflicty
=======
Unrelated conflicts
>>>>>>>"""
- spec = """
+ spec = """
<<<<<<<
***1***
the user is right
blah blah
>>>>>>>
"""
- result = [-1]
- assert resolve.resolve(contents, spec, result) == """
+ result = [-1]
+ self.assertEqual(resolve.resolve(contents, spec, result), """
top
bar
the user is right
bottom
<<<<<<<
Unrelated conflict
+|||||||
+something conflicty
=======
Unrelated conflicts
->>>>>>>"""
+>>>>>>>""")
-def test_resolve_multi_var():
- contents = """
+ def test_resolve_multi_var(self):
+ contents = """
top
<<<<<<<
the user is right
this is ours
more user stuff
this is ours
+|||||||
+Something special?
=======
this is kept, but variable
this is not kept
bottom
<<<<<<<
unrelated conflict
+|||||||
+original text of unrelated conflict
=======
unrelated conflicts
>>>>>>>
"""
- spec = """
+ spec = """
<<<<<<<
***1***
this is ours
this is not kept
>>>>>>>
"""
- result = [3, 1, 2]
- assert resolve.resolve(contents, spec, result) == """
+ result = [3, 1, 2]
+ self.assertEqual(resolve.resolve(contents, spec, result), """
top
this is kept, but variable
the user is right
bottom
<<<<<<<
unrelated conflict
+|||||||
+original text of unrelated conflict
=======
unrelated conflicts
>>>>>>>
-"""
+""")
-def test_resolve_simple():
- contents = """
+ def test_resolve_multi_simple(self):
+ contents = """
bar
<<<<<<< HEAD
baz
+|||||||
+bollocks
=======
boo
>>>>>>> upstream
bing
<<<<<<< HEAD
oh?
+|||||||
+puntful
=======
bad match
>>>>>>> upstream
"""
- spec = """
+ spec = """
<<<<<<<
***1***
=======
bad match
>>>>>>>
"""
- result = [-1]
- assert resolve.resolve(contents, spec, result) == """
+ result = [-1]
+ self.assertEqual(resolve.resolve(contents, spec, result), """
bar
<<<<<<< HEAD
baz
+|||||||
+bollocks
=======
boo
>>>>>>> upstream
bing
oh?
-"""
+""")
def test_is_conflict():
assert not resolve.is_conflict("foobar\nbar")