public void ValidateSeries()
        {
            int startValue    = 10;
            var expectedSteps = new List <CollatzStep>
            {
                new CollatzStep {
                    Step = 0, Value = 10
                },
                new CollatzStep {
                    Step = 1, Value = 5
                },
                new CollatzStep {
                    Step = 2, Value = 16
                },
                new CollatzStep {
                    Step = 3, Value = 8
                },
                new CollatzStep {
                    Step = 4, Value = 4
                },
                new CollatzStep {
                    Step = 5, Value = 2
                },
                new CollatzStep {
                    Step = 6, Value = 1
                }
            };
            var actualSteps = new CollatzSeries(startValue).Steps;

            for (int i = 0; i < expectedSteps.Count; i++)
            {
                Assert.Equal(expectedSteps[i].Step, actualSteps[i].Step);
                Assert.Equal(expectedSteps[i].Value, actualSteps[i].Value);
            }
        }
        public void SeriesContainsCorrectTotalSteps(int value, int expectedTotalSteps)
        {
            var series           = new CollatzSeries(value);
            int actualTotalSteps = series.Steps.LastOrDefault().Step;

            Assert.Equal(expectedTotalSteps, actualTotalSteps);
        }
Example #3
0
        public void PopulateForm(int initialValue)
        {
            var series = new CollatzSeries(initialValue);
            var steps  = series.Steps;

            SeriesGridView.DataSource     = steps;
            SeriesGridView.Parent.Visible = true;
            SeriesGridView.Visible        = true;
        }
Example #4
0
        private void CalculateButton_Click(object sender, EventArgs e)
        {
            if (!int.TryParse(InitialValueTextBox.Text, out int initialValue) && initialValue < 1)
            {
                string msg = "The value must be a natural number.";
                ShowErrorMessage(msg);
                return;
            }

            var series = new CollatzSeries(initialValue);
            var steps  = series.Steps;

            SeriesGridView.DataSource = steps;
            SeriesGridView.Visible    = true;
        }
Example #5
0
 public void Populate()
 {
     Series     = new CollatzSeries(StartValue);
     MaxValue   = Series.Steps.Max(s => s.Value);
     TotalSteps = Series.Steps.Last().Step;
 }
        public void ApproveSeries()
        {
            var series = new CollatzSeries(10);

            Approvals.Verify(series);
        }
        public void ApproveSeriesSteps()
        {
            var steps = new CollatzSeries(10).Steps;

            Approvals.VerifyAll(steps, "step");
        }