Ejemplo n.º 1
0
        private void GeneriereGleichungen_Click(object sender, RoutedEventArgs e)
        {
            SaeureEingabeTextBox.TextDocument.GetText(Windows.UI.Text.TextGetOptions.UseObjectText, out string saeureFormel);
            if (String.IsNullOrEmpty(saeureFormel))
            {
                // Suche nun in der DropDown
                if (SaeureAuswahlComboBox.SelectedIndex == -1)
                {
                    return;
                }

                saeureFormel = (string)((ComboBoxItem)SaeureAuswahlComboBox.SelectedValue).Tag;
            }

            LaugeEingabeTextBox.TextDocument.GetText(Windows.UI.Text.TextGetOptions.UseObjectText, out string laugeFormel);
            if (String.IsNullOrEmpty(laugeFormel))
            {
                // Suche nun in der DropDown
                if (LaugeAuswahlComboBox.SelectedIndex == -1)
                {
                    return;
                }

                laugeFormel = (string)((ComboBoxItem)LaugeAuswahlComboBox.SelectedValue).Tag;
            }

            saeureLaugeReaktionsResultat.Clear();

            Lauge lauge = null;

            if (laugeFormel.Equals("NH₃"))
            {
                lauge = new Ammoniak();
            }
            else
            {
                lauge = new Lauge(laugeFormel);
            }

            Saeure saeure = new Saeure(saeureFormel);

            SaeureLaugeReaktion reaktion = new SaeureLaugeReaktion(saeure, lauge);

            reaktion.BeginneReaktion();

            ReaktionsgleichungenControl.ItemsSource = new List <Object>();
            ReaktionsgleichungenControl.ItemsSource = reaktion.ReaktionsResultate;
        }
Ejemplo n.º 2
0
        public void Aluminiumhydroxid()
        {
            // Überprüfe, ob aus den Bestandteilen die chemische Formel generiert werden kann
            Metall aluminium = Periodensystem.Instance.FindeMetallNachAtomsymbol("Al");

            // Kreiere die Lauge
            Lauge aluminiumhydroxid = new Lauge(aluminium);

            // Überprüfe ob identisch
            Assert.AreEqual("Al(OH)₃", aluminiumhydroxid.GeneriereChemischeFormelAusBestandteilen());

            aluminiumhydroxid = new Lauge("Al(OH)₃");
            aluminiumhydroxid.Bestandteile = aluminiumhydroxid.GeneriereBestandteileAusChemischerFormel();

            // Erhalte die Moleküle aus den Bestandteilen
            Molekuel aluminiumMolekuel = aluminiumhydroxid.ErhalteMolekuel(aluminium);
            Molekuel hydroxidMolekuel  = aluminiumhydroxid.ErhalteMolekuel(new Oxid("OH"));

            Assert.AreEqual(1, aluminiumMolekuel.AnzahlAtomeInMolekuel());
            Assert.AreEqual("Al", aluminiumMolekuel.Atombindung.ErhalteElement().Symol);

            Assert.AreEqual(3, hydroxidMolekuel.Anzahl);
            Assert.AreEqual("OH", hydroxidMolekuel.Atombindung.ChemischeFormel);
        }
Ejemplo n.º 3
0
 public SaeureLaugeReaktion(Saeure saeure, Lauge lauge)
 {
     ReagierendeSaeure  = saeure;
     ReagierendeLauge   = lauge;
     ReaktionsResultate = new List <SaeureLaugeReaktionsResultat>();
 }