public void AddAndReadTest() { if (System.IO.File.Exists(File2)) { System.IO.File.Delete(File2); } if (System.IO.File.Exists($"{File2}.h")) { System.IO.File.Delete($"{File2}.h"); } var blockChain = new BlockChain <TestBlockData>(File2); using var sha256 = SHA256.Create(); TestBlockData data = new TestBlockData("12345678910"); var prevBlock = blockChain.First(); var block = Block <TestBlockData> .Create(prevBlock.Hash(sha256), data, prevBlock.GetBlockHeader().GetTarget(), sha256); var token = new CancellationTokenSource(); token.CancelAfter(TimeSpan.FromSeconds(TimeoutInSec)); var m = block.Mine(token.Token); m.Wait(); block = m.Result; blockChain.Add(block); Assert.IsTrue(TestHelper.ArrayEquals(block.ToArray(), blockChain.First().ToArray()), "Block is not added to the blockchain, or could not read the blockchain"); Assert.IsTrue(blockChain.First().IsValid(prevBlock.Hash(sha256), sha256), "Added block is not valid"); }
private void EvaluateEndedBlock() { //Calculates a throughput for the block as an average of the throughputs of all sequences double throughputTotal = 0; foreach (TestSequence sequence in TestBlockData.Sequences) { throughputTotal += sequence.Throughput; } TestBlockData.Throughput = throughputTotal / TestBlockData.Sequences.Count; //Calculates a throughput for the block using all sequences' and trials' center errors and movement times //TestBlockData.Throughput = TestDataHelper.CalculateThroughput(TestBlockData.TargetAmplitudes, // TestDataHelper.CalculateDeltaX(TestBlockData.GetTrialCenterError()), TestBlockData.GetMovementTimes()); TestBlockData.CalculateMeanMovementTime(); TestBlockData.CalculateErrorRate(); TestBlockData.MeanRotationSumDegree = TestBlockData.Sequences.Average(el => el.RotationSumDegree); //if (_useDB) //{ // SaveToDb(); // Debug.Log("----Test Data Saved To Database----"); //} StudyManager.Instance.AddLogGeneral(TestBlockData); Debug.Log("Evaluating block ended"); //Cursor.visible = true; //Cursor.lockState = CursorLockMode.None; //SendToEmail(); StudyManager.Instance.StartChangeBlock(); }
public void AddTest() { if (System.IO.File.Exists(File)) { System.IO.File.Delete(File); } var blockChain = new BlockChain <TestBlockData>(File); var data = new TestBlockData("12345678910"); var token = new CancellationTokenSource(); token.CancelAfter(TimeSpan.FromSeconds(TimeoutInSec)); blockChain.Add(data, token: token.Token).Wait(); Assert.IsTrue(TestHelper.ArrayEquals(data.ToArray(), blockChain.First().GetData().ToArray()), "Block is not added to the blockchain, or could not read the blockchain"); Assert.IsTrue(blockChain.First().IsValid(blockChain.First().GetBlockHeader().HashPrevBlock, blockChain.GetHashingAlgorithm()), "Added block is not valid"); }
private void EvaluateEndedBlock() { //Calculates a throughput for the block as an average of the throughputs of all sequences double throughputTotal = 0; foreach (TestSequence sequence in TestBlockData.Sequences) { throughputTotal += sequence.Throughput; } TestBlockData.Throughput = throughputTotal / TestBlockData.Sequences.Count; //Calculates a throughput for the block using all sequences' and trials' center errors and movement times //TestBlockData.Throughput = TestDataHelper.CalculateThroughput(TestBlockData.TargetAmplitudes, // TestDataHelper.CalculateDeltaX(TestBlockData.GetTrialCenterError()), TestBlockData.GetMovementTimes()); TestBlockData.CalculateMeanMovementTime(); TestBlockData.CalculateErrorRate(); if (_useDB) { SaveToDb(); Debug.Log("----Test Data Saved To Database----"); } }
private void SaveToDb() { _dbController.InsertTestResults(TestBlockData.CreateDTO()); }
private void SaveToDb() { var dataDto = TestBlockData.CreateDTO(); _dbController.InsertTestResults(dataDto); }