def test_from_json(self): json_data = { 'srai': False, 'sentences': [{ 'words': ['Hi'], 'response': 'Hello', 'positivity': 0.0, 'subjectivity': 0.5 }, { 'words': ['Hi', 'Again'], 'response': 'World', 'positivity': 0.0, 'subjectivity': 0.5 }], 'current_sentence_no': -1, 'properties': {} } question = Question.from_json(self._client_context, json_data) self.assertIsNotNone(question) self.assertEquals(False, question.srai) self.assertEquals({}, question.properties) self.assertEquals(-1, question._current_sentence_no) self.assertEquals(2, len(question.sentences))
def test_from_json(self): json_data = { 'srai': False, 'sentences': [{ 'words': ['Hi'], 'response': 'Hello', 'positivity': 0.0, 'subjectivity': 0.5 }, { 'words': ['Hi', 'Again'], 'response': 'World', 'positivity': 0.0, 'subjectivity': 0.5 }], 'current_sentence_no': -1, 'properties': {} } question = Question.from_json(self._client_context, json_data) self.assertIsNotNone(question) self.assertEqual(False, question.srai) self.assertEqual({}, question.properties) self.assertEqual(-1, question._current_sentence_no) self.assertEqual(2, len(question.sentences)) splitter = RegexSentenceSplitter(BotSentenceSplitterConfiguration()) self.assertIsNotNone(splitter) self.assertEqual(["This is a basic sentence"], splitter.split("This is a basic sentence"))
def create_from_json(self, json_data): for key, value in json_data['properties'].items(): self._properties[key] = value for json_question in json_data['questions']: self._questions.append( Question.from_json(self._client_context, json_question)) self.recalculate_sentiment_score(self._client_context)