Finished type_constrcutor base tests
This commit is contained in:
parent
664ebcff98
commit
1f3ee480b4
@ -64,3 +64,15 @@ LECLERC = {
|
|||||||
"dateOfBirth":"1997-10-16",
|
"dateOfBirth":"1997-10-16",
|
||||||
"nationality":"Monegasque"
|
"nationality":"Monegasque"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BAHRAIN = {
|
||||||
|
"circuitId":"bahrain",
|
||||||
|
"url":"http://en.wikipedia.org/wiki/Bahrain_International_Circuit",
|
||||||
|
"circuitName":"Bahrain International Circuit",
|
||||||
|
"Location":{
|
||||||
|
"lat":"26.0325",
|
||||||
|
"long":"50.5106",
|
||||||
|
"locality":"Sakhir",
|
||||||
|
"country":"Bahrain"
|
||||||
|
}
|
||||||
|
}
|
@ -1,15 +1,24 @@
|
|||||||
from copyreg import constructor
|
from copyreg import constructor
|
||||||
import datetime
|
import datetime
|
||||||
from this import d
|
from this import d
|
||||||
|
from ergast_py.constants import expected
|
||||||
from ergast_py.models.average_speed import AverageSpeed
|
from ergast_py.models.average_speed import AverageSpeed
|
||||||
|
|
||||||
from ergast_py.models.circuit import Circuit
|
from ergast_py.models.circuit import Circuit
|
||||||
from ergast_py.models.constructor import Constructor
|
from ergast_py.models.constructor import Constructor
|
||||||
|
from ergast_py.models.constructor_standing import ConstructorStanding
|
||||||
from ergast_py.models.driver import Driver
|
from ergast_py.models.driver import Driver
|
||||||
|
from ergast_py.models.driver_standing import DriverStanding
|
||||||
from ergast_py.models.fastest_lap import FastestLap
|
from ergast_py.models.fastest_lap import FastestLap
|
||||||
from ergast_py.models.location import Location
|
from ergast_py.models.location import Location
|
||||||
from ergast_py.models.pit_stop import PitStop
|
from ergast_py.models.pit_stop import PitStop
|
||||||
|
from ergast_py.models.race import Race
|
||||||
from ergast_py.models.result import Result
|
from ergast_py.models.result import Result
|
||||||
|
from ergast_py.models.season import Season
|
||||||
|
from ergast_py.models.standings_list import StandingsList
|
||||||
|
from ergast_py.models.status import Status
|
||||||
|
from ergast_py.models.timing import Timing
|
||||||
|
from ergast_py.models.lap import Lap
|
||||||
from ergast_py.requester import Requester
|
from ergast_py.requester import Requester
|
||||||
from ergast_py.type_constructor import TypeConstructor
|
from ergast_py.type_constructor import TypeConstructor
|
||||||
|
|
||||||
@ -29,17 +38,7 @@ class TestTypeConstructor():
|
|||||||
#
|
#
|
||||||
|
|
||||||
def test_construct_circuit(self):
|
def test_construct_circuit(self):
|
||||||
params = [{
|
params = [test_constants.BAHRAIN]
|
||||||
"circuitId":"bahrain",
|
|
||||||
"url":"http://en.wikipedia.org/wiki/Bahrain_International_Circuit",
|
|
||||||
"circuitName":"Bahrain International Circuit",
|
|
||||||
"Location":{
|
|
||||||
"lat":"26.0325",
|
|
||||||
"long":"50.5106",
|
|
||||||
"locality":"Sakhir",
|
|
||||||
"country":"Bahrain"
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
|
|
||||||
location = Location(latitude=26.0325,
|
location = Location(latitude=26.0325,
|
||||||
longitude=50.5106,
|
longitude=50.5106,
|
||||||
@ -79,7 +78,54 @@ class TestTypeConstructor():
|
|||||||
assert expected == self.t.construct_drivers(params)
|
assert expected == self.t.construct_drivers(params)
|
||||||
|
|
||||||
def test_construct_races(self):
|
def test_construct_races(self):
|
||||||
pass
|
params = [{
|
||||||
|
"season":"2022",
|
||||||
|
"round":"1",
|
||||||
|
"url":"http://en.wikipedia.org/wiki/2022_Bahrain_Grand_Prix",
|
||||||
|
"raceName":"Bahrain Grand Prix",
|
||||||
|
"Circuit": test_constants.BAHRAIN,
|
||||||
|
"date":"2022-03-20",
|
||||||
|
"time":"15:00:00Z",
|
||||||
|
"FirstPractice":{
|
||||||
|
"date":"2022-03-18",
|
||||||
|
"time":"12:00:00Z"
|
||||||
|
},
|
||||||
|
"SecondPractice":{
|
||||||
|
"date":"2022-03-18",
|
||||||
|
"time":"15:00:00Z"
|
||||||
|
},
|
||||||
|
"ThirdPractice":{
|
||||||
|
"date":"2022-03-19",
|
||||||
|
"time":"12:00:00Z"
|
||||||
|
},
|
||||||
|
"Qualifying":{
|
||||||
|
"date":"2022-03-19",
|
||||||
|
"time":"15:00:00Z"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
|
||||||
|
location = Location(latitude=26.0325,
|
||||||
|
longitude=50.5106,
|
||||||
|
locality="Sakhir",
|
||||||
|
country="Bahrain")
|
||||||
|
bahrain = Circuit(circuit_id="bahrain",
|
||||||
|
url="http://en.wikipedia.org/wiki/Bahrain_International_Circuit",
|
||||||
|
circuit_name="Bahrain International Circuit",
|
||||||
|
location=location)
|
||||||
|
|
||||||
|
expected = [Race(
|
||||||
|
season=2022, round_no=1, url="http://en.wikipedia.org/wiki/2022_Bahrain_Grand_Prix",
|
||||||
|
race_name="Bahrain Grand Prix", circuit=bahrain,
|
||||||
|
date=datetime.datetime(year=2022, month=3, day=20, hour=15, tzinfo=datetime.timezone.utc), results=[],
|
||||||
|
first_practice=datetime.datetime(year=2022, month=3, day=18, hour=12, tzinfo=datetime.timezone.utc),
|
||||||
|
second_practice=datetime.datetime(year=2022, month=3, day=18, hour=15, tzinfo=datetime.timezone.utc),
|
||||||
|
third_practice=datetime.datetime(year=2022, month=3, day=19, hour=12, tzinfo=datetime.timezone.utc),
|
||||||
|
sprint=None, sprint_results=[],
|
||||||
|
qualifying=datetime.datetime(year=2022, month=3, day=19, hour=15, tzinfo=datetime.timezone.utc),
|
||||||
|
qualifying_results=[], pit_stops=[], laps=[]
|
||||||
|
)]
|
||||||
|
|
||||||
|
assert expected == self.t.construct_races(params)
|
||||||
|
|
||||||
def test_construct_results(self):
|
def test_construct_results(self):
|
||||||
params = [{
|
params = [{
|
||||||
@ -149,16 +195,103 @@ class TestTypeConstructor():
|
|||||||
assert expected == self.t.construct_pit_stops(params)
|
assert expected == self.t.construct_pit_stops(params)
|
||||||
|
|
||||||
def test_construct_laps(self):
|
def test_construct_laps(self):
|
||||||
# Check Timings too
|
params = [{
|
||||||
pass
|
"number":"1",
|
||||||
|
"Timings":[{
|
||||||
|
"driverId":"leclerc",
|
||||||
|
"position":"1",
|
||||||
|
"time":"1:39.070"
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
|
||||||
|
timing = Timing(
|
||||||
|
driver_id="leclerc",
|
||||||
|
position=1,
|
||||||
|
time=datetime.time(minute=1, second=39, microsecond=70000))
|
||||||
|
|
||||||
|
expected = [Lap(number=1, timings=[timing])]
|
||||||
|
|
||||||
|
assert expected == self.t.construct_laps(params)
|
||||||
|
|
||||||
def test_construct_seasons(self):
|
def test_construct_seasons(self):
|
||||||
pass
|
params = [{
|
||||||
|
"season":"2022",
|
||||||
|
"url":"http://en.wikipedia.org/wiki/2022_Formula_One_World_Championship"
|
||||||
|
}]
|
||||||
|
|
||||||
|
expected = [Season(
|
||||||
|
season=2022,
|
||||||
|
url="http://en.wikipedia.org/wiki/2022_Formula_One_World_Championship"
|
||||||
|
)]
|
||||||
|
|
||||||
|
assert expected == self.t.construct_seasons(params)
|
||||||
|
|
||||||
def test_construct_statuses(self):
|
def test_construct_statuses(self):
|
||||||
pass
|
params = [{
|
||||||
|
"statusId":"1",
|
||||||
|
"count":"1",
|
||||||
|
"status":"Finished"
|
||||||
|
}]
|
||||||
|
|
||||||
|
expected = [Status(
|
||||||
|
status_id=1,
|
||||||
|
count=1,
|
||||||
|
status="Finished"
|
||||||
|
)]
|
||||||
|
|
||||||
|
assert expected == self.t.construct_statuses(params)
|
||||||
|
|
||||||
def test_construct_standings_lists(self):
|
def test_construct_standings_lists(self):
|
||||||
# Check Driver Standings
|
# Check Driver Standings
|
||||||
# Check constructor standings
|
# Check constructor standings
|
||||||
pass
|
params = [{
|
||||||
|
"season":"2005",
|
||||||
|
"round":"19",
|
||||||
|
"DriverStandings":[{
|
||||||
|
"position":"1",
|
||||||
|
"positionText":"1",
|
||||||
|
"points":"133",
|
||||||
|
"wins":"7",
|
||||||
|
"Driver":test_constants.ALONSO,
|
||||||
|
"Constructors":[test_constants.ALPINE]
|
||||||
|
}],
|
||||||
|
"ConstructorStandings":[{
|
||||||
|
"position":"1",
|
||||||
|
"positionText":"1",
|
||||||
|
"points":"235",
|
||||||
|
"wins":"5",
|
||||||
|
"Constructor": test_constants.FERRARI
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
|
||||||
|
alpine = Constructor(constructor_id="alpine",
|
||||||
|
url="http://en.wikipedia.org/wiki/Alpine_F1_Team",
|
||||||
|
name="Alpine F1 Team",
|
||||||
|
nationality="French")
|
||||||
|
alonso = Driver(driver_id="alonso",
|
||||||
|
code="ALO",
|
||||||
|
url="http://en.wikipedia.org/wiki/Fernando_Alonso",
|
||||||
|
given_name="Fernando",
|
||||||
|
family_name="Alonso",
|
||||||
|
date_of_birth=datetime.date(year=1981, month=7, day=29),
|
||||||
|
nationality="Spanish",
|
||||||
|
permanent_number=14
|
||||||
|
)
|
||||||
|
driver_standings = DriverStanding(
|
||||||
|
position=1, position_text="1", points=133, wins=7, driver=alonso, constructors=[alpine]
|
||||||
|
)
|
||||||
|
ferrari = Constructor(constructor_id="ferrari",
|
||||||
|
url="http://en.wikipedia.org/wiki/Scuderia_Ferrari",
|
||||||
|
name="Ferrari", nationality="Italian")
|
||||||
|
constructor_standings = ConstructorStanding(
|
||||||
|
position=1, position_text="1", points=235, wins=5, constructor=ferrari
|
||||||
|
)
|
||||||
|
|
||||||
|
expected = [StandingsList(
|
||||||
|
season=2005,
|
||||||
|
round_no=19,
|
||||||
|
driver_standings=[driver_standings],
|
||||||
|
constructor_standings=[constructor_standings]
|
||||||
|
)]
|
||||||
|
|
||||||
|
assert expected == self.t.construct_standings_lists(params)
|
Reference in New Issue
Block a user