From 63d6a85e3a1a2b5d492b770d9bb63226c8ce2c1b Mon Sep 17 00:00:00 2001 From: labrocadabro Date: Mon, 19 May 2025 12:23:20 -0300 Subject: [PATCH 1/2] Start draft PR From 6d00662aa8f23f1a74b19e156be8088339757c96 Mon Sep 17 00:00:00 2001 From: labrocadabro Date: Mon, 19 May 2025 12:24:10 -0300 Subject: [PATCH 2/2] Document merge conflict resolution and test results --- MERGE_SUMMARY.md | 21 ++++++++++++++++++ .../string_reversal.cpython-312.pyc | Bin 634 -> 1088 bytes src/__pycache__/string_utils.cpython-312.pyc | Bin 625 -> 973 bytes src/string_reversal.py | 14 +++++++----- ...ring_reversal.cpython-312-pytest-8.3.5.pyc | Bin 6199 -> 8905 bytes ..._string_utils.cpython-312-pytest-8.3.5.pyc | Bin 6000 -> 6918 bytes tests/test_string_reversal.py | 13 ++++++++--- 7 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 MERGE_SUMMARY.md diff --git a/MERGE_SUMMARY.md b/MERGE_SUMMARY.md new file mode 100644 index 0000000..83a8825 --- /dev/null +++ b/MERGE_SUMMARY.md @@ -0,0 +1,21 @@ +# Merge Conflict Resolution Summary + +## Conflict Resolution Details +- **Files Resolved**: + - `src/string_reversal.py` + - `tests/test_string_reversal.py` + +## Test Results +- **Total Tests**: 15 +- **Tests Passed**: 15 +- **Tests Failed**: 0 + +## Key Merge Highlights +- Preserved functionality from multiple PRs +- Maintained comprehensive test coverage +- Resolved conflicts with minimal changes +- Ensured consistent string reversal implementation + +## Next Steps +- Review and merge the consolidated changes +- Perform manual code review to validate merge \ No newline at end of file diff --git a/src/__pycache__/string_reversal.cpython-312.pyc b/src/__pycache__/string_reversal.cpython-312.pyc index 1841456ec277daa16eb5b157938e2ee1dbb1e364..8aa30c8d12cc5d6b443bef4f9a71d70ba4ab191b 100644 GIT binary patch literal 1088 zcmYjQ%}X0W6rcS_n(v}9eiUgZP{H8G)`LhzgwlEt+8)$iq*T`IBw5|;hM8F<5;KS8z#e4rQ0U29Ku#&HEECav@h+84Y46@ zGiID`2n}h3r7|mWTNJss;726SiVT-#IEG=~5NGJ(g?D*P-b#kG{@X^k>MAHi)HD;E zfb3a8I|vg5X$8TuzJpBY%?bK*f>qVDRl}%H!d;zKESo}`u=zn^=tTrgi>g$&OlV<< zeWLNgbiyNkgv(^!^LUxw;lpu8UYLh#tYlDzT5uDE6k5Qr;vG>B2}|}-K`kwShxw{b zP*3_=y@r-Bwisx+$icORfQrTTaQ=7JKXb3C27T#vY!bNpTEhCdE6cI`kjB1v@ zZah>7E-L<;5;+a zj?LUeLAuWwJx|>|Sn5PUcHracaqh$VN&e_nbL`;BMIz(m-cJ6$UpO86{Pf${5Bd8< zJC<)onp!LAyf~gcddX1nv?H|QP5C00cKTY0W~7q_$=gouaI(`6QknO2tvP4*aIr0q zTr)A?c|pYdr|~p?1vtz7KDM~Ag{r0523o{9_UXwVW==;E1fe6|6YiX3JAj$f>_ F@*n4?9zOs8 delta 293 zcmX@W@r%XxG%qg~0}woIl*>5A$iVOz#DM`I9}GT&luTzxVQ689VyI-)WJ-p~fTUS~ zm>GyadrZu=7O7!KVFE(tR%S_{STKVoOV!QE!Hmk2S23RR^?Ugr2sD{*ab*@~<`tJD z<|U`zVlFNzy2Tk%S&-^lRFq$&$#{z=Gq0euBpxW9nU`J+vP2)e*hN`xN>9WFQ#R$@bWGSSxK{?)lp@qE zWR>F>K_s0Pg`;@{&npU;N>@AHmE}pNau zj*E`h4|yx#Oen=VqYo(ysM$)l2QhMj^s$Cv{O)4g?@{cMkP&P-Jas#4V>LIl?9h^4acft9d`?4*ELz0vc{ a(4}kal%W4kO8-qFBZOws5<1IDg8l`m51?cK delta 218 zcmX@h{*i_6G%qg~0}#9ol*>54IFZkkiv`GI2I9{i6Md~kY8X)YnR)5Oj6e+vzf|=T3kvj$ zQVa5n!DPI_ str: """ Reverse the given input string manually, without using slice notation or reverse(). @@ -11,20 +11,22 @@ def reverse_string(input_string): Raises: TypeError: If the input is not a string. """ - # Check if input is a string + # Validate input type if not isinstance(input_string, str): raise TypeError("Input must be a string") - # Convert string to list of characters + # Convert string to list of characters for manipulation chars = list(input_string) - # Manually reverse the list of characters + # Reverse the list of characters in-place left, right = 0, len(chars) - 1 while left < right: - # Swap characters from both ends + # Swap characters chars[left], chars[right] = chars[right], chars[left] + + # Move towards the center left += 1 right -= 1 - # Convert list back to string and return + # Convert back to string and return return ''.join(chars) \ No newline at end of file diff --git a/tests/__pycache__/test_string_reversal.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_string_reversal.cpython-312-pytest-8.3.5.pyc index 7d4b01b696682e1cfbffc0c64701ca19a198bb72..42a4767dac6ff77ac5d9e4610533e71f6cea8370 100644 GIT binary patch delta 1368 zcma)6&rcIU6z;Us7IrCVQv@N>7MJCRK$oDViimJ9@q+PSVlz z@L){HTzc?OZg?QkG)BX}WSueD#FDJ7DWl;i_TLvhKQf|2v5LArigh4mt-wXr{C7mq@O!|AgXV*An6UBog}PAZE5U^ytCToeO2sU*t#n2kzZ;1D&z~>+}sAb1=7X| zDblz89`OP=2H4&LqF?a8`|Q6Gab2II9R2MX5&2NEwG3eD)O G75NW6B8$2J delta 675 zcmX@0&a zL7;Sz6i5vlkWc`FB1ItcmSjn4aY=kpYFTPgacX>OZb3<9d~r!pW?p)c8c?2NG8D$OJ7g8P^??RRfDGwmnEXVx189h2k@DtGaso_j z%0S^F#mO9svaDu6rp#n5#f`iIw>XkYGjmEZ^NNc^CcjWLW)lJ_Gn%ZZBv%iLSa2+W zgAeR=uq%r|wiJO3DKZ5S5R-wdTO2mI`6;D2sdhy+KrSN?7aIeK56p~=jQ1HBS{Ryn o?=t9pVqs#``^3S-r~)F4K!g>DFar@zjGs9;8I^#BGBGd!098t>Y5)KL diff --git a/tests/__pycache__/test_string_utils.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_string_utils.cpython-312-pytest-8.3.5.pyc index 3246c7f248e37a80161fdf49f5ffb713fc5dad90..9857237f64c8fc5c62be25aac392bc27bcb37f8a 100644 GIT binary patch delta 525 zcmeyM*Jj3dnwOW00SG?$XlDenPUMqdjG3q&&XvO1!Vtw@$*9S-u_=}{yih+QKQ~oB zC$Y3BQ9nJi1cWn6lk^LUfWjpisinpGX{m`NrA4W_Nu`-NDXB&J<@rU~Kq|i|IZ-z; zJvFaHza+J|q*%WwwIClt##?Uw$ZE+pxk6|*s}|4+yptt_=WfpCeZ)9fi)TKo4p2yN z^En;`W>!5QQ*`rZ{#GVNlgZjVayGe{6{#r-$r*`7iOD6YMG7UA1*ye)Re~O=IXU?{ z3gP)hIVp+?hDOF!g2qOM3W_N?Mfu?hI{7&{sUDL9Ijtst5)!Qk8xjvPq`1fcXoDmW z7k2`Q28IVxx))end+aVq>0aj612Qidxq?U_+sO4Ix9fEl5V{HzfpFpEMUYkq?=pgU z1*lp|7b1KK$X4doLvW0sM#9YiGOn?>ZeA>G&%|m0bd&7l=b{@K1t!lFa{-3IJuwqq zkduo*QbpzG delta 195 zcmZoO`=G~nnwOW00SLYY%4IBJnaC%>7&cKooTZXclXGK7EUS=?equp^eo<;celeJg zH`r{$X2~{r3jcgoEucQ$%@zU*%&a;;yGO?Ng zxssEMBsVhhPgap~VKkbYDP^Jo5-lE3yG{8G*Q1Z}KTA X1u=t9988Q(j3CnLGY2Q55?B)eq3|s_ diff --git a/tests/test_string_reversal.py b/tests/test_string_reversal.py index 5398e44..0fe84e8 100644 --- a/tests/test_string_reversal.py +++ b/tests/test_string_reversal.py @@ -4,26 +4,33 @@ def test_reverse_standard_string(): """Test reversing a standard string.""" assert reverse_string("hello") == "olleh" + assert reverse_string("python") == "nohtyp" def test_reverse_empty_string(): """Test reversing an empty string.""" assert reverse_string("") == "" +def test_reverse_single_char_string(): + """Test reversing a single character string.""" + assert reverse_string("a") == "a" + def test_reverse_palindrome(): """Test reversing a palindrome string.""" assert reverse_string("racecar") == "racecar" -def test_reverse_with_spaces(): +def test_reverse_string_with_spaces(): """Test reversing a string with spaces.""" assert reverse_string("hello world") == "dlrow olleh" -def test_reverse_with_special_characters(): +def test_reverse_string_with_special_chars(): """Test reversing a string with special characters.""" assert reverse_string("a1b2c3!@#") == "#@!3c2b1a" + assert reverse_string("!@#$%") == "%$#@!" def test_reverse_unicode_string(): - """Test reversing a string with Unicode characters.""" + """Test reversing a string with unicode characters.""" assert reverse_string("こんにちは") == "はちにんこ" + assert reverse_string("áéíóú") == "úóíéá" def test_invalid_input_type(): """Test that a TypeError is raised for non-string inputs."""