예제 #1
0
        private static void BaseTest(string text, int expected)
        {
            var metrics = new DzhilbMetrics(text);

            foreach (var line in metrics.Methods.SelectMany(i => i.DescendantNodes()))
            {
                Console.WriteLine($"{line.GetType()} {DzhilbMetrics.GetLine(line).start}     {line}");
            }

            Console.WriteLine(metrics.GetLinesText());

            Assert.AreEqual(expected, metrics.OperatorsCount);
        }
예제 #2
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var metrics = new DzhilbMetrics(TextTextBox.Text);

                OperatorsLabel.Content  = metrics.OperatorsCount;
                ClAbsoluteLabel.Content = metrics.ClAbsolute;
                ClLabel.Content         = metrics.Cl;
                FModLabel.Content       = metrics.FMod;
                LIfLabel.Content        = metrics.LIf;
                LModLabel.Content       = metrics.LMod;
                LLoopLabel.Content      = metrics.LLoop;
                FOpLabel.Content        = metrics.FOp;

                DictionaryTextBox.Text = metrics.GetLinesText();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.ToString(), "Exception", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }