def test_features(self): mock_fan_yang = Mock(FanYang) mock_fan_yang.features = FanYang.features.__get__(mock_fan_yang) mock_fan_yang.feature_names = FanYang.feature_names mock_feature_manager = Mock(FeatureManager) mock_feature_manager.features.return_value = [ True, True, True, True, 0.5] mock_fan_yang.feature_manager = mock_feature_manager features = mock_fan_yang.features(None, None, None) self.assertEqual(features[4], 0.5)
def test_train(self): train_set_filename = 'data/train-set.txt' with codecs.open(train_set_filename, mode='wb', encoding='utf-8') as f: f.write(u'1,1,1,1,0.999,1\n' u'0,0,0,0,0.111,0\n') mock_fan_yang = Mock(FanYang) mock_fan_yang.train_data_filename = train_set_filename mock_fan_yang.feature_names = FanYang.feature_names mock_fan_yang.classifier = None mock_fan_yang.train = FanYang.train.__get__(mock_fan_yang) mock_fan_yang.train() self.assertIsNotNone(mock_fan_yang.classifier) os.remove(train_set_filename)
def test_train_data(self): mock_method = Mock() mock_method.feature_names = [u'pronoun', u'proper_noun', u'noun', u'verb', u'max_sentence_similarity'] mock_method.features.return_value = [True, True, False, False, 0.5555] dataset_filename = 'data/test-set.test' label_filename = 'data/label.test' train_set_filename = 'data/train-set.test' with codecs.open(dataset_filename, encoding='utf-8', mode='wb') as d: d.write(u"Q1:乳房的触诊顺序是什么\n" u"A1:你男女?\n" u"Q2:这和问题有关系吗\n" u"A2:看乳房是啥病\n" u"\n" u"Q3:有没有人知道网店管家这款软件,怎么样?\n" u"A3:可以\n" u"Q4:你知道\n" u"\n" u"Q5:买了一双詹姆斯11涂鸦 但是不知道是不是xdr底的 没有吊牌 现在很担心 只要照片可以看出来是不\n" u"A4:盒子还在吗\n" u"Q6:在的话应该怎么看\n" u"\n") with codecs.open(label_filename, encoding='utf-8', mode='wb') as l: l.write(u'Q1:0\n' u'Q2:1\n' u'Q3:0\n' u'Q4:1\n' u'Q5:0\n' u'Q6:1\n') experiment.generate_train_data(mock_method, dataset_filename, label_filename, train_set_filename) self.assertTrue(os.path.isfile(dataset_filename)) self.assertTrue(os.path.isfile(label_filename)) self.assertTrue(os.path.isfile(train_set_filename)) with codecs.open(train_set_filename, encoding='utf-8') as f: a = 0 for line in f: a += 1 self.assertEqual(a, 7) os.remove(dataset_filename) os.remove(label_filename) os.remove(train_set_filename)