def test_node_response(self): query = "query" node = RankNode() node.load_query(query) resp = node.response() stat = [int(word) for word in resp.split() if word.replace('.','').isdigit()] self.assertTrue(isinstance(resp, str))
def response(self): if self.node_type == "rank": node = RankNode() elif self.node_type == "stat": node = StatNode() node.load_query(self.query) return node.response()
def test_extract_names(self): query = "Who is a better shooter Kobe Bryant or Lebron James?" node = RankNode() node.load_query(query) name1, name2 = node.extract_names() names = set([name1, name2]) self.assertTrue("Kobe Bryant" in names) self.assertTrue("Lebron James" in names)
def test_metric2stat(self): query = "query" node = RankNode() node.load_query(query) test_map = { "true shooting percentage": "shooting", "defensive plus/minus": "defending", "player efficiency rating": "player", } for stat in test_map: metric = test_map[stat] predicted_stat = node.metric2stat(metric) self.assertEqual(predicted_stat, stat) metric = "This is nothing" predicted_stat = node.metric2stat(metric) self.assertIsNone(predicted_stat)
def test_extract_metric(self): query = "Who is a better shooter Kobe or Lebron?" node = RankNode() node.load_query(query) metric = node.extract_metric() self.assertEqual(metric, "shooter")
def test_response(self): query = "Who is a better shooter Kobe Bryant or Lebron James?" node = RankNode() node.load_query(query) resp = node.response() self.assertTrue(isinstance(resp, str))