Example #1
0
        public AppCalculator()
            : base()
        {
            InitializeComponent();
            //sub-class our textBox
            DisplayBox = new ClassCalculator();
            Grid.SetRow(DisplayBox, 0);
            Grid.SetColumn(DisplayBox, 0);
            Grid.SetColumnSpan(DisplayBox, 9);
            DisplayBox.Height = 30;
            MyGrid.Children.Add(DisplayBox);

            //sub-class our paper trail textBox
            PaperBox = new ClassCalculator();
            Grid.SetRow(PaperBox, 1);
            Grid.SetColumn(PaperBox, 0);
            Grid.SetColumnSpan(PaperBox, 3);
            Grid.SetRowSpan(PaperBox, 5);
            PaperBox.IsReadOnly = true;
            PaperBox.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;
            PaperBox.Margin = new Thickness(3.0, 1.0, 1.0, 1.0);
            PaperBox.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;

            Paper = new PaperTrail();

            MyGrid.Children.Add(PaperBox);
            ProcessKey('0');
            EraseDisplay = true;
        }
        public void CalculateClassResult_ZeroStudents_ShouldReturnValidClassResult()
        {
            // Arrange
            var calculator = new ClassCalculator();
            var @class     = new Class("my empty class");

            // Act
            var result = calculator.CalculateClassResult(@class);

            // Assert
            Assert.AreEqual(0, result.Average);
            Assert.AreEqual("my empty class", result.ClassName);
            Assert.AreEqual(0, result.ExcludedStudentNames.Count);
            Assert.AreEqual(0, result.TotalStudents);
            Assert.AreEqual(0, result.StudentCountUsedForCalculations);
        }
        public void CalculateClassResult_VariedStudents_ShouldReturnValidAverage()
        {
            // Arrange
            var calculator = new ClassCalculator();
            var @class     = new Class("my class");

            @class.Students.Add(new Student("valid 1", 50));
            @class.Students.Add(new Student("valid 2", 25));
            @class.Students.Add(new Student("excluded 1", 0));

            // Act
            var result = calculator.CalculateClassResult(@class);

            // Assert
            Assert.AreEqual(37.5f, result.Average);
        }
        public void CalculateClassResult_OneStudent_ShouldReturnValidClassResult()
        {
            // Arrange
            var calculator = new ClassCalculator();
            var @class     = new Class("my class");

            @class.Students.Add(new Student("John Doe", 50));

            // Act
            var result = calculator.CalculateClassResult(@class);

            // Assert
            Assert.AreEqual(50, result.Average);
            Assert.AreEqual("my class", result.ClassName);
            Assert.AreEqual(0, result.ExcludedStudentNames.Count);
            Assert.AreEqual(1, result.TotalStudents);
            Assert.AreEqual(1, result.StudentCountUsedForCalculations);
        }