Esempio n. 1
0
        public void Given_EmptyDataTable_When_Calculate_ThenNoCalculation()
        {
            CarSalesViewModel salesUnderTest = new CarSalesViewModel
            {
                SalesResultTable = new DataTable()
            };

            Assert.IsNull(salesUnderTest.GetCalculationRow("Total"));
        }
Esempio n. 2
0
        public void Given_Year_But_No_Country_When_CheckAllRequiredInput_Return_False()
        {
            CarSalesViewModel underTest = new CarSalesViewModel
            {
                SelectedYear = 2021
            };

            Assert.IsFalse(underTest.IsAllRequiredInputGiven());
        }
Esempio n. 3
0
        public void Given_Country_Is_Given_But_No_Year_Return_False()
        {
            CarSalesViewModel underTest = new CarSalesViewModel
            {
                SelectedCountry = new Country {
                    CountryAbbreviation = "abc", CountryName = "Testing", CountryId = 1
                }
            };

            Assert.IsFalse(underTest.IsAllRequiredInputGiven());
        }
Esempio n. 4
0
        public void Given_Country_And_Year_ButFileNotLoaded_When_CheckAllRequiredInput_Return_False()
        {
            CarSalesViewModel underTest = new CarSalesViewModel
            {
                SelectedCountry = new Country {
                    CountryAbbreviation = "abc", CountryName = "Testing", CountryId = 1
                },
                SelectedYear = 2021,
            };

            Assert.IsFalse(underTest.IsAllRequiredInputGiven());
        }
Esempio n. 5
0
        public void Given_No_State_Is_Selected_And_MultipleStatesLoaded_Return_All_Distinct_States()
        {
            CarSalesViewModel salViewUnderTest = new CarSalesViewModel
            {
                AllSales = testSales
            };
            List <string> expectedResult = new List <string> {
                "Idaho", "Alabama"
            };

            salViewUnderTest.GetAllStatesForAnalysis();

            CollectionAssert.AreEqual(expectedResult, salViewUnderTest.SelectedStateCollection);
        }
Esempio n. 6
0
        public void Given_State_Is_Selected_Return_SelectedState()
        {
            CarSalesViewModel salViewUnderTest = new CarSalesViewModel
            {
                SelectedState = new State {
                    StateAbbreviation = "IL", StateName = "Illinois", StateId = 1
                }
            };
            List <string> expectedResult = new List <string> {
                "Illinois"
            };

            salViewUnderTest.GetAllStatesForAnalysis();
            CollectionAssert.AreEqual(expectedResult, salViewUnderTest.SelectedStateCollection);
        }
Esempio n. 7
0
        public void Given_DataTable_HasThreeSalesPerState_When_Calculate_Median_ReturnMedianForAllColumns()
        {
            CarSalesViewModel salesUnderTest = new CarSalesViewModel();
            DataTable         tableUnderTest = new DataTable();

            tableUnderTest.Columns.Add(new DataColumn()
            {
                Caption = "test", ColumnName = "Month"
            });
            tableUnderTest.Columns.Add(new DataColumn()
            {
                Caption = "test", ColumnName = "test"
            });
            tableUnderTest.Columns.Add(new DataColumn()
            {
                Caption = "test2", ColumnName = "test2"
            });
            DataRow row = tableUnderTest.NewRow();

            row[0] = "January";
            row[1] = 356;
            row[2] = 100;
            DataRow row1 = tableUnderTest.NewRow();

            row1[0] = "February";
            row1[1] = 234;
            row1[2] = 123;
            DataRow row2 = tableUnderTest.NewRow();

            row2[0] = "March";
            row2[1] = 125;
            row2[2] = 316;
            tableUnderTest.Rows.Add(row);
            tableUnderTest.Rows.Add(row1);
            tableUnderTest.Rows.Add(row2);

            salesUnderTest.SalesResultTable        = tableUnderTest;
            salesUnderTest.SelectedStateCollection = new ObservableCollection <string> {
                "test", "test2"
            };

            DataRow calculatedResult = salesUnderTest.GetCalculationRow("Med.");

            Assert.AreEqual("Med.:", calculatedResult[0]);
            Assert.AreEqual("234.00", calculatedResult[1]);
            Assert.AreEqual("123.00", calculatedResult[2]);
        }
Esempio n. 8
0
        public void Given_Select_A_State_And_Data_Contain_MultipleState_When_Get_State_Return_SelectedState()
        {
            CarSalesViewModel salViewUnderTest = new CarSalesViewModel
            {
                AllSales      = testSales,
                SelectedState = new State {
                    StateAbbreviation = "IL", StateName = "Illinois", StateId = 1
                }
            };
            List <string> expectedResult = new List <string> {
                "Illinois"
            };

            salViewUnderTest.GetAllStatesForAnalysis();

            CollectionAssert.AreEqual(expectedResult, salViewUnderTest.SelectedStateCollection);
        }
Esempio n. 9
0
        public void Given_Year_And_Country_Match_WithSalesData_When_FilterResult__ThenReturnAllMatch()
        {
            CarSalesViewModel salesUnderTest = new CarSalesViewModel()
            {
                AllSales                = testSales,
                SelectedYear            = 2021,
                SelectedStateCollection = new ObservableCollection <string> {
                    "Idaho", "Alabama"
                },
                SelectedCountry = new Country {
                    CountryName = "United States"
                }
            };

            salesUnderTest.FilterResult();
            Assert.AreEqual(3, salesUnderTest.SelectedSales.Count);
        }
Esempio n. 10
0
        public void Given_SalesContainMultipleStates_And_Year_NotSelected_When_FormulateResult_Then_NoResult()
        {
            CarSalesViewModel SalesFromMultipleStates = new CarSalesViewModel
            {
                SelectedCountry = new Country()
                {
                    CountryName = "United States", CountryAbbreviation = "USA", CountryId = 1
                },
                AllSales = testSales
            };

            SalesFromMultipleStates.GetAllStatesForAnalysis();

            SalesFromMultipleStates.FormulateResultTable();

            Assert.IsNull(SalesFromMultipleStates.SalesResultTable);
        }
Esempio n. 11
0
        public void Given_Month_NoCity_AsInput_When_FilterResult_ThenFilterIncludeMonth()
        {
            CarSalesViewModel salesUnderTest = new CarSalesViewModel()
            {
                AllSales                = testSales,
                SelectedYear            = 2021,
                SelectedMonth           = "January",
                SelectedStateCollection = new ObservableCollection <string> {
                    "Idaho", "Alabama"
                },
                SelectedCountry = new Country {
                    CountryName = "United States"
                }
            };

            salesUnderTest.FilterResult();
            Assert.AreEqual(2, salesUnderTest.SelectedSales.Count);
        }
Esempio n. 12
0
        public void Given_SalesContainMultipleStates_And_TwoMatchFound_When_FormulateResult_Then_Return5Rows()
        {
            CarSalesViewModel SalesFromMultipleStates = new CarSalesViewModel
            {
                SelectedCountry = new Country()
                {
                    CountryName = "United States", CountryAbbreviation = "USA", CountryId = 1
                },
                AllSales     = testSales,
                SelectedYear = 2021
            };

            SalesFromMultipleStates.GetAllStatesForAnalysis();

            SalesFromMultipleStates.FormulateResultTable();

            Assert.AreEqual(5, SalesFromMultipleStates.SalesResultTable.Rows.Count);
        }
Esempio n. 13
0
        public void Given_SalesContainMultipleStates_And_NoMatch_When_FormulateResult_Then_ReturnNoResults()
        {
            CarSalesViewModel SalesFromMultipleStates = new CarSalesViewModel
            {
                SelectedCountry = new Country()
                {
                    CountryName = "United States", CountryAbbreviation = "USA", CountryId = 1
                },
                AllSales      = testSales,
                SelectedYear  = 2020,
                SelectedState = new State {
                    StateAbbreviation = "AL", StateName = "Alabma", StateId = 1
                }
            };

            SalesFromMultipleStates.GetAllStatesForAnalysis();

            SalesFromMultipleStates.FormulateResultTable();

            Assert.IsNull(SalesFromMultipleStates.SalesResultTable);
        }
Esempio n. 14
0
        public void Given_DataTable_HasMultipleSales_When_Calculate_Avg_ReturnAverageForAllColumns()
        {
            CarSalesViewModel salesUnderTest = new CarSalesViewModel();
            DataTable         tableUnderTest = new DataTable();

            tableUnderTest.Columns.Add(new DataColumn()
            {
                Caption = "test", ColumnName = "Month"
            });
            tableUnderTest.Columns.Add(new DataColumn()
            {
                Caption = "test", ColumnName = "test"
            });
            tableUnderTest.Columns.Add(new DataColumn()
            {
                Caption = "test2", ColumnName = "test2"
            });
            DataRow row = tableUnderTest.NewRow();

            row[0] = "January";
            row[1] = 200;
            row[2] = 100;
            DataRow row1 = tableUnderTest.NewRow();

            row1[0] = "February";
            row1[1] = 300;
            row1[2] = 320;
            tableUnderTest.Rows.Add(row);
            tableUnderTest.Rows.Add(row1);
            salesUnderTest.SalesResultTable        = tableUnderTest;
            salesUnderTest.SelectedStateCollection = new ObservableCollection <string> {
                "test", "test2"
            };

            DataRow calculatedResult = salesUnderTest.GetCalculationRow("Avg.");

            Assert.AreEqual("Avg.:", calculatedResult[0]);
            Assert.AreEqual("250.00", calculatedResult[1]);
            Assert.AreEqual("210.00", calculatedResult[2]);
        }
Esempio n. 15
0
        public void Given_City_ButNoMonth_AsInput_When_FilterResult_ThenFilterIncludeCity()
        {
            CarSalesViewModel salesUnderTest = new CarSalesViewModel()
            {
                AllSales       = testSales,
                SelectedYear   = 2021,
                SelectedCities = new ObservableCollection <City> {
                    new City {
                        Name = "ABC"
                    }
                },
                SelectedStateCollection = new ObservableCollection <string> {
                    "Idaho", "Alabama"
                },
                SelectedCountry = new Country {
                    CountryName = "United States"
                }
            };

            salesUnderTest.FilterResult();
            Assert.AreEqual(1, salesUnderTest.SelectedSales.Count);
        }
Esempio n. 16
0
        public void Given_No_Country_Is_Given_Return_False()
        {
            CarSalesViewModel underTest = new CarSalesViewModel();

            Assert.IsFalse(underTest.IsAllRequiredInputGiven());
        }