示例#1
0
        public bool Import(Stream stream, out IEnumerable <ExperimentTable> experiments)
        {
            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            experiments = default(IEnumerable <ExperimentTable>);

            var result = new List <ExperimentTable>();

            var reader = new StreamReader(stream);

            string line = "";

            try
            {
                while ((line = reader.ReadLine()) != null)
                {
                    var array      = ParseUshorts(line);
                    var experiment = new ExperimentTable();
                    experiment.SetArray(array);
                    result.Add(experiment);
                }
            }
            catch (ArgumentException)
            {
                return(false);
            }

            experiments = result;

            return(true);
        }
 public ExperimentTableViewModel(ExperimentTable table)
 {
     Experimenent = table ?? throw new ArgumentNullException(nameof(table));
     InitializeArray();
     PropertyChanged += ExperimentTableViewModelChanged;
     UpdateArray();
 }
示例#3
0
        private void AddExperiment(ExperimentTable experiment)
        {
            var viewModel = new ExperimentTableViewModel(experiment);

            experiments.Add(viewModel);

            view.BindExperimentViewModel(viewModel);
            view.SelectedExperiment = viewModel;
        }
        public void ExperimentTableConvertersTestsFullTest()
        {
            // Arrange
            var table = new ExperimentTable()
            {
                ExperimentNumber = 1,
                FrequencyIndex   = (ulong)0x1122334455,
                StausOfRelay     = RelayStatus.Relay1 | RelayStatus.Relay3 | RelayStatus.Relay6,
                Silence1         = 0x12,
                NoiseLength      = 0x23,
                Silence2         = 0x34,
                PhaseOfAPulse    = 0x0b,
                APulseStart      = 0x06,
                APulseContinue   = 0x56,
                SilenceA         = 0x6789,
                BPulsePhase      = 0x0c,
                BPulseContinue   = 0x0346,
                SilenceB         = 0x3578,
                RepeatB          = 0x54,
                EchoLength       = 0x45,
                RepeatExp        = 0x67,
                DelayExp         = 0x2756,
                DelayRecord      = 0x8576,
            };

            // Apply

            byte[] byteTable = ExperimentTableConverters.GetBytes(table);

            Assert.IsNotNull(byteTable);

            var resultTable = ExperimentTableConverters.GetTable(byteTable, true);

            // Assert

            Assert.AreEqual(table.ExperimentNumber, resultTable.ExperimentNumber);
            Assert.AreEqual(table.FrequencyIndex, resultTable.FrequencyIndex);
            Assert.AreEqual(table.GetRelayCode(), resultTable.GetRelayCode());
            Assert.AreEqual(table.Silence1, resultTable.Silence1);
            Assert.AreEqual(table.NoiseLength, resultTable.NoiseLength);
            Assert.AreEqual(table.CalibrationsNumber, resultTable.CalibrationsNumber);
            Assert.AreEqual(table.Silence2, resultTable.Silence2);
            Assert.AreEqual(table.PhaseOfAPulse, resultTable.PhaseOfAPulse);
            Assert.AreEqual(table.APulseStart, resultTable.APulseStart);
            Assert.AreEqual(table.APulseContinue, resultTable.APulseContinue);
            Assert.AreEqual(table.SilenceA, resultTable.SilenceA);
            Assert.AreEqual(table.BPulsePhase, resultTable.BPulsePhase);
            Assert.AreEqual(table.BPulseContinue, resultTable.BPulseContinue);
            Assert.AreEqual(table.SilenceB, resultTable.SilenceB);
            Assert.AreEqual(table.EchoLength, resultTable.EchoLength);
            Assert.AreEqual(table.RepeatB, resultTable.RepeatB);
            Assert.AreEqual(table.RepeatExp, resultTable.RepeatExp);
            Assert.AreEqual(table.DelayExp, resultTable.DelayExp);
            Assert.AreEqual(table.DelayRecord, resultTable.DelayRecord);
            Assert.AreEqual(table.AdditionalWord, resultTable.AdditionalWord);
        }
        private static void ExportExperiment(Stream stream, ExperimentTable experiment)
        {
            var array = experiment.GetArray();

            using (var writer = new StreamWriter(stream, Encoding.Unicode, 1024, true))
            {
                for (int i = 0; i < array.Length; i++)
                {
                    var current = array[i].ToString("X4") + " ";
                    writer.Write(current);
                }

                writer.Write(Environment.NewLine);
            }
        }
示例#6
0
        internal void AddExperiment()
        {
            view.ExperimentViewVisible = true;

            var experiment = new ExperimentTable()
            {
                ExperimentNumber = (ushort)experiments.Count
            };

            AddExperiment(experiment);

            //var viewModel = new ExperimentTableViewModel(experimentTable);
            //experiments.Add(viewModel);

            //view.BindExperimentViewModel(viewModel);
            //view.SelectedExperiment = viewModel;
        }