示例#1
0
        public void Test_KnownIonSets_LjpWithinExpectedRange()
        {
            var ionTable  = new IonTable();
            var knownSets = new KnownIonSets(ionTable);

            foreach (var ionSet in knownSets.ionSets)
            {
                Console.WriteLine($"Testing known ion set: {ionSet.name}");
                var ljp = Calculate.Ljp(ionSet.ions, ionSet.temperatureC);
                Assert.AreEqual(ionSet.expectedLjp_mV, ljp.mV, ionSet.expectedAccuracy_mV);
            }
        }
示例#2
0
        private void ExampleIonSetClicked(object sender, RoutedEventArgs e)
        {
            string clickedItemName = (((MenuItem)sender).Header).ToString();
            var    knownSets       = new KnownIonSets(ionTable);

            ionSet.Clear();
            foreach (var knownSet in knownSets.ionSets)
            {
                if (knownSet.name == clickedItemName)
                {
                    ionSet.AddRange(knownSet.ions);
                    CalculationTemperatureC.Text = knownSet.temperatureC.ToString();
                    ValidateIonSet();
                }
            }
            dataGrid1.Items.Refresh();
        }
示例#3
0
        public LjpCalcControl()
        {
            InitializeComponent();
            LoadIonTable();
            dataGrid1.ItemsSource = ionSet;
            ResetGui();
            //LoadExample_JLJP(null, null);

            if (ionTable != null)
            {
                var knownSets = new KnownIonSets(ionTable);
                foreach (var knownSet in knownSets.ionSets)
                {
                    MenuItem item = new MenuItem();
                    item.Click  += ExampleIonSetClicked;
                    item.Header  = knownSet.name;
                    item.ToolTip = knownSet.details;
                    KnownSetsContextMenu.Items.Add(item);
                }
            }
        }