class TestClientCompareApi(unittest.TestCase): def setUp(self): self.client = FullClient(apiKey=conf.API_KEY, apiServer=conf.BASE_PATH, retinaName=conf.RETINA_NAME) def testCompare(self): resultMetric = self.client.compare(inputJSONarray) self.assertGreater(resultMetric.cosineSimilarity, 0.1) self.assertGreater(resultMetric.euclideanDistance, 0.1) self.assertGreater(resultMetric.jaccardDistance, 0.1) self.assertGreater(resultMetric.weightedScoring, 0.1) self.assertGreater(resultMetric.sizeRight, 10) self.assertGreater(resultMetric.sizeLeft, 10) self.assertGreater(resultMetric.overlappingLeftRight, 0.1) self.assertGreater(resultMetric.overlappingAll, 10) self.assertGreater(resultMetric.overlappingRightLeft, 0.1) def testCompareBulk(self): resultMetricList = self.client.compareBulk(bulkJSONarray) self.assertEqual(len(resultMetricList), 2) for resultMetric in resultMetricList: self.assertGreater(resultMetric.cosineSimilarity, 0.1) self.assertGreater(resultMetric.euclideanDistance, 0.1) self.assertGreater(resultMetric.jaccardDistance, 0.1) self.assertGreater(resultMetric.weightedScoring, 0.1) self.assertGreater(resultMetric.sizeRight, 10) self.assertGreater(resultMetric.sizeLeft, 10) self.assertGreater(resultMetric.overlappingLeftRight, 0.1) self.assertGreater(resultMetric.overlappingAll, 10) self.assertGreater(resultMetric.overlappingRightLeft, 0.1) def testException(self): # testing using only one input element in the array expectedException = False try: self.client.compare(oneTermInputJSONarray) except CorticalioException: expectedException = True self.assertTrue(expectedException) # testing JSON parse exception in the input expectedException = False try: self.client.compare(syntaxErrorJSONarray) except CorticalioException: expectedException = True self.assertTrue(expectedException)