本文整理汇总了Python中tapiriik.testing.testtools.TestTools.create_random_activity方法的典型用法代码示例。如果您正苦于以下问题:Python TestTools.create_random_activity方法的具体用法?Python TestTools.create_random_activity怎么用?Python TestTools.create_random_activity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tapiriik.testing.testtools.TestTools
的用法示例。
在下文中一共展示了TestTools.create_random_activity方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_activity_deduplicate_tzerror
# 需要导入模块: from tapiriik.testing.testtools import TestTools [as 别名]
# 或者: from tapiriik.testing.testtools.TestTools import create_random_activity [as 别名]
def test_activity_deduplicate_tzerror(self):
''' Test that probably-duplicate activities with starttimes like 09:12:22 and 15:12:22 (on the same day) are recognized as one '''
svcA, svcB = TestTools.create_mock_services()
actA = TestTools.create_random_activity(svcA, tz=pytz.timezone("America/Iqaluit"))
actB = Activity()
actB.StartTime = actA.StartTime.replace(tzinfo=pytz.timezone("America/Denver")) + timedelta(hours=5)
actB.UploadedTo = [TestTools.create_mock_upload_record(svcB)]
actA.Name = "Not this"
actB.Name = "Heya"
actB.Type = ActivityType.Walking
actA.CalculateUID()
actB.CalculateUID()
activities = []
Sync._accumulateActivities(Service.FromID("mockB"), [copy.deepcopy(actB)], activities)
Sync._accumulateActivities(Service.FromID("mockA"), [copy.deepcopy(actA)], activities)
self.assertEqual(len(activities), 1)
# Ensure that it is an exact match
actB.StartTime = actA.StartTime.replace(tzinfo=pytz.timezone("America/Denver")) + timedelta(hours=5, seconds=1)
activities = []
Sync._accumulateActivities(Service.FromID("mockB"), [copy.deepcopy(actB)], activities)
Sync._accumulateActivities(Service.FromID("mockA"), [copy.deepcopy(actA)], activities)
self.assertEqual(len(activities), 2)
# Ensure that overly large differences >14hr - not possible via TZ differences - are not deduplicated
actB.StartTime = actA.StartTime.replace(tzinfo=pytz.timezone("America/Denver")) + timedelta(hours=15)
activities = []
Sync._accumulateActivities(Service.FromID("mockB"), [copy.deepcopy(actB)], activities)
Sync._accumulateActivities(Service.FromID("mockA"), [copy.deepcopy(actA)], activities)
self.assertEqual(len(activities), 2)
示例2: test_activity_coalesce
# 需要导入模块: from tapiriik.testing.testtools import TestTools [as 别名]
# 或者: from tapiriik.testing.testtools.TestTools import create_random_activity [as 别名]
def test_activity_coalesce(self):
''' ensure that activity data is getting coalesced by _accumulateActivities '''
svcA, svcB = TestTools.create_mock_services()
recA = TestTools.create_mock_svc_record(svcA)
recB = TestTools.create_mock_svc_record(svcB)
actA = TestTools.create_random_activity(svcA, tz=pytz.timezone("America/Iqaluit"))
actB = Activity()
actB.StartTime = actA.StartTime.replace(tzinfo=None)
actB.ServiceDataCollection = TestTools.create_mock_servicedatacollection(svcB)
actA.Name = "Not this"
actA.Private = True
actB.Name = "Heya"
actB.Type = ActivityType.Walking
actA.CalculateUID()
actB.CalculateUID()
activities = []
Sync._accumulateActivities(recB, [copy.deepcopy(actB)], activities)
Sync._accumulateActivities(recA, [copy.deepcopy(actA)], activities)
self.assertEqual(len(activities), 1)
act = activities[0]
self.assertEqual(act.StartTime, actA.StartTime)
self.assertEqual(act.EndTime, actA.EndTime)
self.assertEqual(act.EndTime.tzinfo, actA.StartTime.tzinfo)
self.assertEqual(act.StartTime.tzinfo, actA.StartTime.tzinfo)
self.assertEqual(act.Waypoints, actA.Waypoints)
self.assertTrue(act.Private) # Most restrictive setting
self.assertEqual(act.Name, actB.Name) # The first activity takes priority.
self.assertEqual(act.Type, actB.Type) # Same here.
self.assertTrue(list(actB.ServiceDataCollection.keys())[0] in act.ServiceDataCollection)
self.assertTrue(list(actA.ServiceDataCollection.keys())[0] in act.ServiceDataCollection)
activities = []
Sync._accumulateActivities(recA, [copy.deepcopy(actA)], activities)
Sync._accumulateActivities(recB, [copy.deepcopy(actB)], activities)
self.assertEqual(len(activities), 1)
act = activities[0]
self.assertEqual(act.StartTime, actA.StartTime)
self.assertEqual(act.EndTime, actA.EndTime)
self.assertEqual(act.EndTime.tzinfo, actA.StartTime.tzinfo)
self.assertEqual(act.StartTime.tzinfo, actA.StartTime.tzinfo)
self.assertEqual(act.Waypoints, actA.Waypoints)
self.assertEqual(act.Name, actA.Name) # The first activity takes priority.
self.assertEqual(act.Type, actB.Type) # Exception: ActivityType.Other does not take priority
self.assertTrue(list(actB.ServiceDataCollection.keys())[0] in act.ServiceDataCollection)
self.assertTrue(list(actA.ServiceDataCollection.keys())[0] in act.ServiceDataCollection)
actA.Type = ActivityType.CrossCountrySkiing
activities = []
Sync._accumulateActivities(recA, [copy.deepcopy(actA)], activities)
Sync._accumulateActivities(recB, [copy.deepcopy(actB)], activities)
self.assertEqual(len(activities), 1)
act = activities[0]
self.assertEqual(act.Type, actA.Type) # Here, it will take priority.
示例3: test_activity_coalesce
# 需要导入模块: from tapiriik.testing.testtools import TestTools [as 别名]
# 或者: from tapiriik.testing.testtools.TestTools import create_random_activity [as 别名]
def test_activity_coalesce(self):
''' ensure that activity data is getting coalesced by _accumulateActivities '''
svcA, svcB = TestTools.create_mock_services()
actA = TestTools.create_random_activity(svcA, tz=pytz.timezone("America/Iqaluit"))
actB = Activity()
actB.StartTime = actA.StartTime.replace(tzinfo=None)
actB.UploadedTo = [TestTools.create_mock_upload_record(svcB)]
actA.Name = "Not this"
actB.Name = "Heya"
actB.Type = ActivityType.Walking
actA.CalculateUID()
actB.CalculateUID()
activities = []
Sync._accumulateActivities(Service.FromID("mockB"), [copy.deepcopy(actB)], activities)
Sync._accumulateActivities(Service.FromID("mockA"), [copy.deepcopy(actA)], activities)
self.assertEqual(len(activities), 1)
act = activities[0]
self.assertEqual(act.StartTime, actA.StartTime)
self.assertEqual(act.EndTime, actA.EndTime)
self.assertEqual(act.EndTime.tzinfo, actA.StartTime.tzinfo)
self.assertEqual(act.StartTime.tzinfo, actA.StartTime.tzinfo)
self.assertEqual(act.Waypoints, actA.Waypoints)
self.assertEqual(act.Name, actB.Name) # The first activity takes priority.
self.assertEqual(act.Type, actB.Type) # Same here.
self.assertTrue(actB.UploadedTo[0] in act.UploadedTo)
self.assertTrue(actA.UploadedTo[0] in act.UploadedTo)
activities = []
Sync._accumulateActivities(Service.FromID("mockA"), [copy.deepcopy(actA)], activities)
Sync._accumulateActivities(Service.FromID("mockB"), [copy.deepcopy(actB)], activities)
self.assertEqual(len(activities), 1)
act = activities[0]
self.assertEqual(act.StartTime, actA.StartTime)
self.assertEqual(act.EndTime, actA.EndTime)
self.assertEqual(act.EndTime.tzinfo, actA.StartTime.tzinfo)
self.assertEqual(act.StartTime.tzinfo, actA.StartTime.tzinfo)
self.assertEqual(act.Waypoints, actA.Waypoints)
self.assertEqual(act.Name, actA.Name) # The first activity takes priority.
self.assertEqual(act.Type, actB.Type) # Exception: ActivityType.Other does not take priority
self.assertTrue(actB.UploadedTo[0] in act.UploadedTo)
self.assertTrue(actA.UploadedTo[0] in act.UploadedTo)
actA.Type = ActivityType.CrossCountrySkiing
activities = []
Sync._accumulateActivities(Service.FromID("mockA"), [copy.deepcopy(actA)], activities)
Sync._accumulateActivities(Service.FromID("mockB"), [copy.deepcopy(actB)], activities)
self.assertEqual(len(activities), 1)
act = activities[0]
self.assertEqual(act.Type, actA.Type) # Here, it will take priority.
示例4: test_constant_representation
# 需要导入模块: from tapiriik.testing.testtools import TestTools [as 别名]
# 或者: from tapiriik.testing.testtools.TestTools import create_random_activity [as 别名]
def test_constant_representation(self):
''' ensures that all services' API clients are consistent through a simulated download->upload cycle '''
# runkeeper
rkSvc = Service.FromID("runkeeper")
act = TestTools.create_random_activity(rkSvc, rkSvc.SupportedActivities[0])
record = rkSvc._createUploadData(act)
returnedAct = rkSvc._populateActivity(record)
act.Name = None # RK doesn't have a "name" field, so it's fudged into the notes, but not really
rkSvc._populateActivityWaypoints(record, returnedAct)
self.assertActivitiesEqual(returnedAct, act)
# can't test Strava well this way, the upload and download formats are entirely different
# endomondo - only waypoints at this point, the activity metadata is somewhat out-of-band
eSvc = Service.FromID("endomondo")
act = TestTools.create_random_activity(eSvc, eSvc.SupportedActivities[0])
oldWaypoints = act.Waypoints
self.assertEqual(oldWaypoints[0].Calories, None)
record = eSvc._createUploadData(act)
eSvc._populateActivityFromTrackData(act, record)
self.assertEqual(oldWaypoints, act.Waypoints)
示例5: test_constant_representation_rk
# 需要导入模块: from tapiriik.testing.testtools import TestTools [as 别名]
# 或者: from tapiriik.testing.testtools.TestTools import create_random_activity [as 别名]
def test_constant_representation_rk(self):
''' ensures that all services' API clients are consistent through a simulated download->upload cycle '''
# runkeeper
rkSvc = Service.FromID("runkeeper")
act = TestTools.create_random_activity(rkSvc, rkSvc.SupportedActivities[0], withLaps=False)
record = rkSvc._createUploadData(act)
record["has_path"] = act.GPS # RK helpfully adds a "has_path" entry if we have waypoints.
returnedAct = rkSvc._populateActivity(record)
act.Name = None # RK doesn't have a "name" field, so it's fudged into the notes, but not really
rkSvc._populateActivityWaypoints(record, returnedAct)
# RK deliberately doesn't set timezone..
returnedAct.EnsureTZ()
self.assertActivitiesEqual(returnedAct, act)
示例6: test_constant_representation
# 需要导入模块: from tapiriik.testing.testtools import TestTools [as 别名]
# 或者: from tapiriik.testing.testtools.TestTools import create_random_activity [as 别名]
def test_constant_representation(self):
''' ensures that gpx import/export is symetric '''
svcA, other = TestTools.create_mock_services()
svcA.SupportsHR = svcA.SupportsCadence = svcA.SupportsTemp = True
svcA.SupportsPower = svcA.SupportsCalories = False
act = TestTools.create_random_activity(svcA, tz=True)
mid = GPXIO.Dump(act)
act2 = GPXIO.Parse(bytes(mid,"UTF-8"))
act2.TZ = act.TZ # we need to fake this since local TZ isn't defined in GPX files, and TZ discovery will flail with random activities
act2.AdjustTZ()
act.Stats.Distance = act2.Stats.Distance = None # same here
self.assertActivitiesEqual(act2, act)
示例7: test_activity_deduplicate_tzerror
# 需要导入模块: from tapiriik.testing.testtools import TestTools [as 别名]
# 或者: from tapiriik.testing.testtools.TestTools import create_random_activity [as 别名]
def test_activity_deduplicate_tzerror(self):
''' Test that probably-duplicate activities with starttimes like 09:12:22 and 15:12:22 (on the same day) are recognized as one '''
svcA, svcB = TestTools.create_mock_services()
recA = TestTools.create_mock_svc_record(svcA)
recB = TestTools.create_mock_svc_record(svcB)
actA = TestTools.create_random_activity(svcA, tz=pytz.timezone("America/Iqaluit"))
actB = Activity()
actB.StartTime = actA.StartTime.replace(tzinfo=pytz.timezone("America/Denver")) + timedelta(hours=5)
actB.ServiceDataCollection = TestTools.create_mock_servicedatacollection(svcB)
actA.Name = "Not this"
actB.Name = "Heya"
actB.Type = ActivityType.Walking
actA.CalculateUID()
actB.CalculateUID()
s = SynchronizationTask(None)
s._activities = []
s._accumulateActivities(recB, [copy.deepcopy(actB)])
s._accumulateActivities(recA, [copy.deepcopy(actA)])
self.assertEqual(len(s._activities), 1)
# Ensure that it is deduplicated on non-exact match
actB.StartTime = actA.StartTime.replace(tzinfo=pytz.timezone("America/Denver")) + timedelta(hours=5, seconds=1)
s._activities = []
s._accumulateActivities(recB, [copy.deepcopy(actB)])
s._accumulateActivities(recA, [copy.deepcopy(actA)])
self.assertEqual(len(s._activities), 1)
# Ensure that it is *not* deduplicated when it really doesn't match
actB.StartTime = actA.StartTime.replace(tzinfo=pytz.timezone("America/Denver")) + timedelta(hours=5, minutes=7)
s._activities = []
s._accumulateActivities(recB, [copy.deepcopy(actB)])
s._accumulateActivities(recA, [copy.deepcopy(actA)])
self.assertEqual(len(s._activities), 2)
# Ensure that overly large differences >38hr - not possible via TZ differences & shamefully bad import/export code on the part of some services - are not deduplicated
actB.StartTime = actA.StartTime.replace(tzinfo=pytz.timezone("America/Denver")) + timedelta(hours=50)
s._activities = []
s._accumulateActivities(recB, [copy.deepcopy(actB)])
s._accumulateActivities(recA, [copy.deepcopy(actA)])
self.assertEqual(len(s._activities), 2)
示例8: test_activity_deduplicate_normaltz
# 需要导入模块: from tapiriik.testing.testtools import TestTools [as 别名]
# 或者: from tapiriik.testing.testtools.TestTools import create_random_activity [as 别名]
def test_activity_deduplicate_normaltz(self):
''' ensure that we can't deduplicate activities with non-pytz timezones '''
svcA, svcB = TestTools.create_mock_services()
actA = TestTools.create_random_activity(svcA, tz=UTC())
actB = Activity()
actB.StartTime = actA.StartTime.replace(tzinfo=None) + timedelta(seconds=10)
actB.EndTime = actA.EndTime.replace(tzinfo=None)
actB.UploadedTo = [TestTools.create_mock_upload_record(svcB)]
actA.Name = "Not this"
actB.Name = "Heya"
actB.Type = ActivityType.Walking
actA.CalculateUID()
actB.CalculateUID()
activities = []
Sync._accumulateActivities(Service.FromID("mockB"), [copy.deepcopy(actB)], activities)
self.assertRaises(ValueError, Sync._accumulateActivities, Service.FromID("mockA"), [copy.deepcopy(actA)], activities)
示例9: test_activity_deduplicate_normaltz
# 需要导入模块: from tapiriik.testing.testtools import TestTools [as 别名]
# 或者: from tapiriik.testing.testtools.TestTools import create_random_activity [as 别名]
def test_activity_deduplicate_normaltz(self):
''' ensure that we can't deduplicate activities with non-pytz timezones '''
svcA, svcB = TestTools.create_mock_services()
recA = TestTools.create_mock_svc_record(svcA)
recB = TestTools.create_mock_svc_record(svcB)
actA = TestTools.create_random_activity(svcA, tz=UTC())
actB = Activity()
actB.StartTime = actA.StartTime.replace(tzinfo=None) + timedelta(seconds=10)
actB.EndTime = actA.EndTime.replace(tzinfo=None)
actB.ServiceDataCollection = TestTools.create_mock_servicedatacollection(svcB, record=recB)
actA.Name = "Not this"
actB.Name = "Heya"
actB.Type = ActivityType.Walking
actA.CalculateUID()
actB.CalculateUID()
s = SynchronizationTask(None)
s._activities = []
s._accumulateActivities(recB, [copy.deepcopy(actB)])
self.assertRaises(ValueError, s._accumulateActivities, recA, [copy.deepcopy(actA)])