public void PostSwingDataAsDistance([FromBody] SwingData swingSpeed) { int swingDistance = DistanceMeasurer.CalculateDistance(swingSpeed); if (swingDistance != 0) { FinalSwingDistance = swingDistance; } }
public void NegativeSwingDataTest() { //Arrange RestRNGolfService.Controllers.SwingDataController swingDataController = new SwingDataController(); SwingData negativeSwingData = new SwingData(-8.0); //Act try { swingDataController.PostSwingDataAsDistance(negativeSwingData); //Assert Assert.Fail(); } catch (Exception e) { } }
public void CalculateDistanceReturnsCorrectValueTest() { //Arrange RestRNGolfService.Controllers.SwingDataController swingDataController = new SwingDataController(); int swingData; SwingData testSwingData = new SwingData(10.01); int expectedDistance = 30; //Act swingDataController.PostSwingDataAsDistance(testSwingData); swingData = SwingDataController.FinalSwingDistance; //Assert Assert.AreEqual(expectedDistance, swingData); }
public void SwingDataPostToVariable() { //Arrange RestRNGolfService.Controllers.SwingDataController swingDataController = new SwingDataController(); int swingData; SwingData testSwingData = new SwingData(7.8); int expectedValueOfVariable = 23; //Act swingDataController.PostSwingDataAsDistance(testSwingData); swingData = SwingDataController.FinalSwingDistance; //Assert Assert.AreEqual(expectedValueOfVariable, swingData); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, [Table("SwingData")] CloudTable dataTable, [Table("SwingLogger")] CloudTable loggerTable, ILogger log) { SwingData request = null; if (req.Headers.TryGetValue("Content-Encoding", out var value)) { if (value.Any(c => c == "gzip")) { using (var decompressionStream = new GZipStream(req.Body, CompressionMode.Decompress)) { using (var reader = new StreamReader(decompressionStream)) { request = JsonConvert.DeserializeObject <SwingData>(reader.ReadToEnd()); } } } } if (request == null) { try { using (var reader = new StreamReader(req.Body)) { request = JsonConvert.DeserializeObject <SwingData>(reader.ReadToEnd()); } } catch { } } if (request == null) { return(new BadRequestResult()); } var data = new SwingDataEntity { PartitionKey = request.User, RowKey = $"{DateTimeOffset.MaxValue.Ticks - request.Time.Ticks:d19}_{Guid.NewGuid()}", User = request.User, Time = request.Time, TimeOffset = request.Time.Offset.ToString(), Dump = request.Dump, Club = (int)request.Club, HeadSpeed = request.HeadSpeed, BallSpeed = request.BallSpeed, Distance = request.Distance, Meet = request.Meet, Tag = request.Tag }; await dataTable.ExecuteAsync(TableOperation.InsertOrMerge(data)); var tableQuery = new TableQuery <SwingLoggerEntity>(); tableQuery.FilterString = TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "0"), TableOperators.And, TableQuery.GenerateFilterCondition("DeviceId", QueryComparisons.Equal, request.User)); var logger = (await loggerTable.ExecuteQuerySegmentedAsync(tableQuery, null)).FirstOrDefault(); if (logger != null) { logger.IncomingData = true; await loggerTable.ExecuteAsync(TableOperation.Merge(logger)); } return(new OkResult()); }
public _Swing(SwingData data) { _Data = data; MoveOffset = Vector2.zero; _NormalizedDirection = _Data.SwingDirection.normalized; }