import unittest import numpy as np from indicoio import political, sentiment, fer, facial_features, language class FullAPIRun(unittest.TestCase): def test_political(self): political_set = set(['Libertarian', 'Liberal', 'Conservative', 'Green']) test_string = "Guns don't kill people, people kill people." response = political(test_string) self.assertTrue(isinstance(response, dict)) self.assertEqual(political_set, set(response.keys())) def test_posneg(self): posneg_set = set(['Sentiment']) test_string = "Worst song ever." response = sentiment(test_string) self.assertTrue(isinstance(response, dict)) self.assertEqual(posneg_set, set(response.keys())) def test_good_fer(self): fer_set = set(['Angry', 'Sad', 'Neutral', 'Surprise', 'Fear', 'Happy']) test_face = np.linspace(0,50,48*48).reshape(48,48).tolist() response = fer(test_face) self.assertTrue(isinstance(response, dict)) self.assertEqual(fer_set, set(response.keys())) def test_bad_fer(self): fer_set = set(['Angry', 'Sad', 'Neutral', 'Surprise', 'Fear', 'Happy']) test_face = np.linspace(0,50,56*56).reshape(56,56).tolist() response = fer(test_face) self.assertTrue(isinstance(response, dict)) self.assertEqual(fer_set, set(response.keys())) def test_good_facial_features(self): test_face = np.linspace(0,50,48*48).reshape(48,48).tolist() response = facial_features(test_face) self.assertTrue(isinstance(response, list)) self.assertEqual(len(response), 48) def test_language(self): language_set = set([ 'English', 'Spanish', 'Tagalog', 'Esperanto', 'French', 'Chinese', 'French', 'Bulgarian', 'Latin', 'Slovak', 'Hebrew', 'Russian', 'German', 'Japanese', 'Korean', 'Portuguese', 'Italian', 'Polish', 'Turkish', 'Dutch', 'Arabic', 'Persian (Farsi)', 'Czech', 'Swedish', 'Indonesian', 'Vietnamese', 'Romanian', 'Greek', 'Danish', 'Hungarian', 'Thai', 'Finnish', 'Norwegian', 'Lithuanian' ]) language_dict = language('clearly an english sentence') self.assertEqual(language_set, set(language_dict.keys())) if __name__ == "__main__": unittest.main()