Tidy up structure of briefcase
I had a spare fifteen minutes and decided that I should tidy up my monorepo. The work of tidying up is not finished; this is a small step in the right direction. TL;DR - Created a tools directory - Created a scratch directory (see README.md for more information) - Added README.md to third_party - Renamed delete_dotfile_symlinks -> symlinkManager - Packaged symlinkManager as an executable symlink-mgr using buildGo
This commit is contained in:
		
							parent
							
								
									5ec5a6da8c
								
							
						
					
					
						commit
						fabf1c9334
					
				
					 89 changed files with 53 additions and 41 deletions
				
			
		|  | @ -0,0 +1,49 @@ | |||
| from collections import Counter | ||||
| import unittest | ||||
| 
 | ||||
| 
 | ||||
| ################################################################################ | ||||
| # Impl | ||||
| ################################################################################ | ||||
| # palindromifiable :: String -> Boolean | ||||
| def has_palindrome_permutation(x): | ||||
|     bag = Counter(x) | ||||
|     odd_entries_ct = 0 | ||||
| 
 | ||||
|     for _, y in bag.items(): | ||||
|         if y % 2 != 0: | ||||
|             odd_entries_ct += 1 | ||||
| 
 | ||||
|     return odd_entries_ct in {0, 1} | ||||
| 
 | ||||
| 
 | ||||
| ################################################################################ | ||||
| # Tests | ||||
| ################################################################################ | ||||
| class Test(unittest.TestCase): | ||||
|     def test_permutation_with_odd_number_of_chars(self): | ||||
|         result = has_palindrome_permutation('aabcbcd') | ||||
|         self.assertTrue(result) | ||||
| 
 | ||||
|     def test_permutation_with_even_number_of_chars(self): | ||||
|         result = has_palindrome_permutation('aabccbdd') | ||||
|         self.assertTrue(result) | ||||
| 
 | ||||
|     def test_no_permutation_with_odd_number_of_chars(self): | ||||
|         result = has_palindrome_permutation('aabcd') | ||||
|         self.assertFalse(result) | ||||
| 
 | ||||
|     def test_no_permutation_with_even_number_of_chars(self): | ||||
|         result = has_palindrome_permutation('aabbcd') | ||||
|         self.assertFalse(result) | ||||
| 
 | ||||
|     def test_empty_string(self): | ||||
|         result = has_palindrome_permutation('') | ||||
|         self.assertTrue(result) | ||||
| 
 | ||||
|     def test_one_character_string(self): | ||||
|         result = has_palindrome_permutation('a') | ||||
|         self.assertTrue(result) | ||||
| 
 | ||||
| 
 | ||||
| unittest.main(verbosity=2) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue