1
1
import pytest
2
- from learning import parse_csv , weighted_mode , weighted_replicate
2
+ from learning import parse_csv , weighted_mode , weighted_replicate , DataSet , \
3
+ PluralityLearner , NaiveBayesLearner , NearestNeighborLearner
4
+ from utils import DataFile
3
5
4
6
5
7
def test_parse_csv ():
6
- assert parse_csv ('1, 2, 3 \n 0, 2, na' ) == [[1 , 2 , 3 ], [0 , 2 , 'na' ]]
8
+ Iris = DataFile ('iris.csv' ).read ()
9
+ assert parse_csv (Iris )[0 ] == [5.1 ,3.5 ,1.4 ,0.2 ,'setosa' ]
7
10
8
11
9
12
def test_weighted_mode ():
@@ -12,3 +15,21 @@ def test_weighted_mode():
12
15
13
16
def test_weighted_replicate ():
14
17
assert weighted_replicate ('ABC' , [1 , 2 , 1 ], 4 ) == ['A' , 'B' , 'B' , 'C' ]
18
+
19
+ def test_plurality_learner ():
20
+ zoo = DataSet (name = "zoo" )
21
+
22
+ pL = PluralityLearner (zoo )
23
+ assert pL ([]) == "mammal"
24
+
25
+ def test_naive_bayes ():
26
+ iris = DataSet (name = "iris" )
27
+
28
+ nB = NaiveBayesLearner (iris )
29
+ assert nB ([5 ,3 ,1 ,0.1 ]) == "setosa"
30
+
31
+ def test_k_nearest_neighbors ():
32
+ iris = DataSet (name = "iris" )
33
+
34
+ kNN = NearestNeighborLearner (iris ,k = 3 )
35
+ assert kNN ([5 ,3 ,1 ,0.1 ]) == "setosa"
0 commit comments