Skip to content

Commit c342761

Browse files
committed
testing spacy
1 parent 1ab8473 commit c342761

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

vetiver/tests/test_spacy.py

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
@pytest.fixture
1313
def spacy_model():
14+
<<<<<<< HEAD
1415
@spacy.language.Language.component("animals")
1516
def animal_component_function(doc):
1617
matches = matcher(doc) # noqa
@@ -33,21 +34,39 @@ def animal_component_function(doc):
3334
@pytest.fixture
3435
def vetiver_client(spacy_model): # With check_prototype=True
3536
app = vetiver.VetiverAPI(spacy_model, check_prototype=True)
37+
=======
38+
39+
nlp = spacy.blank("en")
40+
sentencizer = nlp.add_pipe("sentencizer")
41+
42+
return vetiver.VetiverModel(sentencizer, "sentencizer")
43+
44+
45+
@pytest.fixture
46+
def vetiver_client(spacy_model): # With check_ptype=True
47+
app = vetiver.VetiverAPI(spacy_model, check_ptype=True)
48+
>>>>>>> b600e38 (testing spacy)
3649
app.app.root_path = "/predict"
3750
client = TestClient(app.app)
3851

3952
return client
4053

4154

4255
@pytest.fixture
56+
<<<<<<< HEAD
4357
def vetiver_client_check_ptype_false(spacy_model): # With check_prototype=False
4458
app = vetiver.VetiverAPI(spacy_model, check_prototype=True)
59+
=======
60+
def vetiver_client_check_ptype_false(spacy_model): # With check_ptype=True
61+
app = vetiver.VetiverAPI(spacy_model, check_ptype=False)
62+
>>>>>>> b600e38 (testing spacy)
4563
app.app.root_path = "/predict"
4664
client = TestClient(app.app)
4765

4866
return client
4967

5068

69+
<<<<<<< HEAD
5170
def test_vetiver_post(vetiver_client):
5271
df = pd.DataFrame({"text": ["one", "my turtle is smarter than my dog"]})
5372

@@ -92,3 +111,51 @@ def test_vetiver_post(vetiver_client):
92111
# spacy.Language,
93112
# )
94113
# board.pin_delete("animals")
114+
=======
115+
def test_vetiver_build(vetiver_client):
116+
nlp = spacy.blank("en")
117+
words = ["This", "is", "a", "new", "Sentence", "."]
118+
doc = spacy.tokens.Doc(nlp.vocab, words=words)
119+
120+
response = vetiver.predict(endpoint=vetiver_client, data=doc.to_json())
121+
122+
assert response == [[True, False, False, False, False, False]]
123+
124+
125+
def test_batch(vetiver_client):
126+
nlp = spacy.blank("en")
127+
words1 = ["This", "is", "a", "new", "Sentence", "."]
128+
doc1 = spacy.tokens.Doc(nlp.vocab, words=words1)
129+
words2 = ["Another", "one", "."]
130+
doc2 = spacy.tokens.Doc(nlp.vocab, words=words2)
131+
132+
response = vetiver.predict(endpoint=vetiver_client, data=[doc1, doc2])
133+
134+
assert response == [[True, False, False, False, False, False], [True, False, False]]
135+
136+
137+
def test_no_ptype(vetiver_client_check_ptype_false):
138+
nlp = spacy.blank("en")
139+
words1 = ["This", "is", "a", "new", "Sentence", "."]
140+
doc1 = spacy.tokens.Doc(nlp.vocab, words=words1)
141+
words2 = ["Another", "one", "."]
142+
doc2 = spacy.tokens.Doc(nlp.vocab, words=words2)
143+
144+
response = vetiver.predict(
145+
endpoint=vetiver_client_check_ptype_false, data=[doc1, doc2]
146+
)
147+
148+
assert response == [[True, False, False, False, False, False], [True, False, False]]
149+
150+
151+
def test_serialize(spacy_model):
152+
import pins
153+
154+
board = pins.board_temp(allow_pickle_read=True)
155+
vetiver.vetiver_pin_write(board=board, model=spacy_model)
156+
assert isinstance(
157+
board.pin_read("sentencizer"),
158+
spacy.pipeline.sentencizer.Sentencizer,
159+
)
160+
board.pin_delete("sentencizer")
161+
>>>>>>> b600e38 (testing spacy)

0 commit comments

Comments
 (0)