from django.test import TestCase from hc.lib.string import replace class StringTestCase(TestCase): def test_it_works(self): result = replace("$A is $B", {"$A": "aaa", "$B": "bbb"}) self.assertEqual(result, "aaa is bbb") def test_it_ignores_placeholders_in_values(self): result = replace("$A is $B", {"$A": "$B", "$B": "$A"}) self.assertEqual(result, "$B is $A") def test_it_ignores_overlapping_placeholders(self): result = replace("$$AB", {"$A": "", "$B": "text"}) self.assertEqual(result, "$B") def test_it_preserves_non_placeholder_dollar_signs(self): result = replace("$3.50", {"$A": "text"}) self.assertEqual(result, "$3.50")