public void Add_MissingPropertyAction_ReturnsErrorMessages() { var service = new ActionService(); var test1 = service.AddAction("{\"action\":\"jump\"}"); var test2 = service.AddAction("{\"time\":100}"); Assert.False(string.IsNullOrEmpty(test1)); Assert.False(string.IsNullOrEmpty(test2)); }
public void Add_MultipleActions_ReturnsExpectedAverages() { var service = new ActionService(); var test1 = service.AddAction("{\"action\":\"jump\", \"time\":100}"); var test2 = service.AddAction("{\"action\":\"run\", \"time\":75}"); var test3 = service.AddAction("{\"action\":\"jump\", \"time\":200}"); Assert.True(string.IsNullOrEmpty(test1)); Assert.True(string.IsNullOrEmpty(test2)); Assert.True(string.IsNullOrEmpty(test3)); }
static void Main(string[] args) { var service = new ActionService(); var errorStr = ""; foreach (var arg in args) { errorStr = service.AddAction(arg); if (false == string.IsNullOrEmpty(errorStr)) { break; } } if (false == string.IsNullOrEmpty(errorStr)) { Console.WriteLine($"ERROR: Unable to add one or more actions -> {errorStr}"); return; } var stats = service.GetStats(); Console.WriteLine(stats); return; }
public void Get_StatsMultipleActions_ReturnsExpectedAverages() { var service = new ActionService(); var test1 = service.AddAction("{\"action\":\"jump\", \"time\":100}"); var test2 = service.AddAction("{\"action\":\"run\", \"time\":75}"); var test3 = service.AddAction("{\"action\":\"jump\", \"time\":200}"); var stats = service.GetStats(); var expectedResults = "[{\"action\":\"jump\",\"avg\":150.0},{\"action\":\"run\",\"avg\":75.0}]"; Assert.True(string.IsNullOrEmpty(test1)); Assert.True(string.IsNullOrEmpty(test2)); Assert.True(string.IsNullOrEmpty(test3)); Assert.False(string.IsNullOrEmpty(stats)); Assert.Equal(expectedResults, stats); }
public void Add_MissionActionValue_ReturnsErrorMessage() { var service = new ActionService(); var test1 = service.AddAction("{\"action\":\"\",\"time\":100}"); Assert.False(string.IsNullOrEmpty(test1)); }
public void Add_BadTimeType_ReturnsErrorMessage() { var service = new ActionService(); var test1 = service.AddAction("{\"action\":\"jump\",\"time\":\"OtherValue\"}"); Assert.False(string.IsNullOrEmpty(test1)); }
public void Add_BadJson_ReturnsErrorMessage() { var service = new ActionService(); var test1 = service.AddAction("InvalidJson"); Assert.False(string.IsNullOrEmpty(test1)); }
public void Add_InvalidPropertyName_ReturnsErrorMessages() { var service = new ActionService(); var test1 = service.AddAction("{\"invalid_property\":\"jump\",\"time\":100}"); Assert.False(string.IsNullOrEmpty(test1)); }
public void Add_SingleAction_ReturnsNoError() { var service = new ActionService(); var test1 = service.AddAction("{\"action\":\"jump\",\"time\":100}"); Assert.True(string.IsNullOrEmpty(test1)); }
public async Task AddGet_AsyncMultipleActions_Succeeds() { var service = new ActionService(); var addJumpTask = Task.Run(() => { var addResults = ""; for (int i = 0; i < 10; i++) { addResults += service.AddAction($"{{\"action\":\"jump\", \"time\":50}}"); } return(addResults); }); var addRunTask = Task.Run(() => { var addResults = ""; for (int i = 0; i < 10; i++) { addResults += service.AddAction($"{{\"action\":\"run\", \"time\":10}}"); } return(addResults); }); var getTask = Task.Run(async() => { var getResults = ""; for (int i = 0; i < 10; i++) { getResults += service.GetStats(); await Task.Delay(TimeSpan.FromSeconds(1)); } return(getResults); }); var allResults = await Task.WhenAll( addJumpTask, addRunTask, getTask ); Assert.True(string.IsNullOrEmpty(allResults[0])); // Add Jump Assert.True(string.IsNullOrEmpty(allResults[1])); // Add Run Assert.False(string.IsNullOrEmpty(allResults[2])); // Get Stats }
public void Get_StatsSingleAction_ReturnsSameNumber() { var service = new ActionService(); var test1 = service.AddAction("{\"action\":\"jump\",\"time\":100}"); var stats = service.GetStats(); var expectedResults = "[{\"action\":\"jump\",\"avg\":100.0}]"; Assert.True(string.IsNullOrEmpty(test1)); Assert.False(string.IsNullOrEmpty(stats)); Assert.Equal(expectedResults, stats); }
public void Add_AsyncMultipleActions_Succeeds() { var service = new ActionService(); Parallel.For(0, 10, (time) => { var actionName = time < 5 ? "jump" : "run"; service.AddAction($"{{\"action\":\"{actionName}\", \"time\":{time}}}"); }); var stats = service.GetStats(); var expectedResults = "[{\"action\":\"jump\",\"avg\":2.0},{\"action\":\"run\",\"avg\":7.0}]"; Assert.Equal(expectedResults, stats); }
public virtual ActionResult PrintLabelsForBatch(long batchId) { LogI("PrintLabelsForBatch, batchId=" + batchId); try { var companyId = AccessManager.CompanyId; if (!companyId.HasValue) { throw new ArgumentNullException("CompanyId"); } var when = Time.GetAppNowTime(); var by = AccessManager.UserId; var actionId = ActionService.AddAction(Db, SystemActionType.PrintBatch, batchId.ToString(), new PrintBatchInput() { BatchId = batchId, CompanyId = companyId.Value, UserId = by }, null, by); LogI("PrintLabelsForBatch, actionId=" + actionId); if (AppSettings.IsDebug) { var labelBatchService = new LabelBatchService(DbFactory, ActionService, LogService, Time, WeightService, ServiceFactory, EmailService, BatchManager, new PdfMakerByIText(LogService), new AddressService(null, null, null), OrderHistoryService, AppSettings.DefaultCustomType, AppSettings.LabelDirectory, AppSettings.ReserveDirectory, AppSettings.TemplateDirectory, new LabelBatchService.Config(), AppSettings.IsSampleLabels); _debugPrintLabelThread = new Thread(() => { labelBatchService.ProcessPrintBatchActions(null); }); _debugPrintLabelThread.Start(); } return(JsonGet(MessageResult.Success("", actionId.ToString()))); } catch (Exception ex) { LogE("PrintLabelsForBatch error", ex); return(JsonGet(MessageResult.Error("Print Error: " + ex.Message))); } }