Esempio n. 1
0
        public void SplitListTest()
        {
            WpfVM wpf = new WpfVM();

            // get data
            ObservableCollection <Split> splitList = new ObservableCollection <Split>();

            splitList.Add(new Split(0, 1, 15, 0.25));
            splitList.Add(new Split(0, 2, 39, 0.5));
            splitList.Add(new Split(0, 3, 45, 0.75));
            splitList.Add(new Split(0, 5, 0, 1));

            // run test
            wpf.SplitList = splitList;

            // validate test
            // first make sure counts are equal
            Assert.AreEqual(splitList.Count, wpf.SplitList.Count, "List count mismatch.");

            for (int index = 0; index < splitList.Count; index += 1)
            {
                Assert.AreEqual(splitList[0].Hours, wpf.SplitList[0].Hours, "Hours mismatch at index " + index);
                Assert.AreEqual(splitList[0].Minutes, wpf.SplitList[0].Minutes, "Minutes mismatch at index " + index);
                Assert.AreEqual(splitList[0].Seconds, wpf.SplitList[0].Seconds, "Seconds mismatch at index " + index);
                Assert.AreEqual(splitList[0].Distance, wpf.SplitList[0].Distance, "Distance mismatch at index " + index);
            }
        }
Esempio n. 2
0
        public void ConvertCalcType(WpfVM wpf, string calcType)
        {
            switch (calcType)
            {
            case "time":
                wpf.CalcTime     = true;
                wpf.CalcDistance = false;
                wpf.CalcPace     = false;
                break;

            case "pace":
                wpf.CalcTime     = false;
                wpf.CalcDistance = false;
                wpf.CalcPace     = true;
                break;

            case "distance":
                wpf.CalcTime     = false;
                wpf.CalcDistance = true;
                wpf.CalcPace     = false;
                break;

            default:
                break;
            }
        }
Esempio n. 3
0
        public void ShowSplitsEnableTest()
        {
            WpfVM wpf = new WpfVM();

            Assert.IsFalse(wpf.ShowSplitsCommand.CanExecute(null));
            wpf.SplitDistance = "1";
            Assert.IsTrue(wpf.ShowSplitsCommand.CanExecute(null));
        }
Esempio n. 4
0
        public void WpfTest()
        {
            WpfVM wpf = new WpfVM();

            // these are the only things that are really defaults at the creation of a Wpf object.
            Assert.AreEqual(wpf.CalcPace, true);
            Assert.AreEqual(wpf.CalcTime, false);
            Assert.AreEqual(wpf.CalcDistance, false);
        }
Esempio n. 5
0
        public void CalculateTypeCommandTest()
        {
            WpfVM wpf = new WpfVM();

            Assert.IsFalse(wpf.CalculateTypeCommand.CanExecute(null));

            wpf.CalcPace = true;
            wpf.Time     = "1:29:59";
            wpf.Distance = "13.1";

            Assert.IsTrue(wpf.CalculateTypeCommand.CanExecute(null));
        }
Esempio n. 6
0
        public void ObservableObjectTest()
        {
            WpfVM wpf = new WpfVM();

            // set up a listener
            wpf.PropertyChanged += Wpf_PropertyChanged;

            wpf.DistanceType = "test";

            // validate test
            Assert.AreEqual("kilometers", wpf.DistanceType);
        }
Esempio n. 7
0
        public void CalcPaceTest()
        {
            WpfVM wpf = new WpfVM();

            // get data
            Boolean expected = Convert.ToBoolean(TestContext.DataRow["expected"]);

            // run test
            wpf.CalcPace = expected;

            // validate test
            Assert.AreEqual(expected, wpf.CalcPace);
        }
Esempio n. 8
0
        public void PaceTypeSetTest()
        {
            WpfVM wpf = new WpfVM();

            // get data
            string paceType = Convert.ToString(TestContext.DataRow["paceType"]);
            string expected = Convert.ToString(TestContext.DataRow["expected"]);

            // run test
            wpf.PaceType = paceType;

            // validate test
            Assert.AreEqual(expected, wpf.PaceType);
        }
Esempio n. 9
0
        public void DistanceTwiceTest()
        {
            WpfVM  wpf       = new WpfVM();
            String firstTest = "5";
            String empty     = string.Empty;

            wpf.Distance = firstTest;

            Assert.AreEqual(firstTest, wpf.Distance);

            wpf.Distance = empty;

            Assert.AreEqual(empty, wpf.Distance);
        }
Esempio n. 10
0
        public void TimeTwiceTest()
        {
            string firstTest = "6:52";
            string empty     = string.Empty;
            WpfVM  wpf       = new WpfVM();

            wpf.Time = firstTest;
            Assert.AreEqual(firstTest, wpf.Time);

            wpf.Time = firstTest;
            Assert.AreEqual(firstTest, wpf.Time);

            wpf.Time = empty;
            Assert.AreEqual(empty, wpf.Time);
        }
Esempio n. 11
0
        public void TimeTest()
        {
            WpfVM wpf = new WpfVM();

            // get data
            string time     = Convert.ToString(TestContext.DataRow["time"]);
            string expected = Convert.ToString(TestContext.DataRow["expected"]);
            string comment  = Convert.ToString(TestContext.DataRow["comment"]);

            // run test
            wpf.Time = time;

            // validate test
            Assert.AreEqual(expected, wpf.Time);
        }
Esempio n. 12
0
        public void ShowSplitGridTest()
        {
            WpfVM wpf = new WpfVM();

            // get data
            string visibility = Convert.ToString(TestContext.DataRow["visibility"]);

            // get expected value
            Visibility expected = ConvertStringToVisibilityType(visibility);

            // run test
            wpf.ShowSplitGrid = expected;

            // validate test
            Assert.AreEqual(expected, wpf.ShowSplitGrid);
        }
Esempio n. 13
0
        public void PaceTest()
        {
            WpfVM wpf = new WpfVM();

            // get data
            string time     = Convert.ToString(TestContext.DataRow["time"]);
            string expected = Convert.ToString(TestContext.DataRow["expected"]);
            string comment  = Convert.ToString(TestContext.DataRow["comment"]);

            if (expected.Equals("null"))
            {
                expected = null;
            }

            // run test
            wpf.Pace = time;

            // validate test
            Assert.AreEqual(expected, wpf.Pace);
        }
Esempio n. 14
0
        public void SplitDistanceTest()
        {
            WpfVM wpf = new WpfVM();

            // get data
            string distance = Convert.ToString(TestContext.DataRow["distance"]);
            string expected = Convert.ToString(TestContext.DataRow["expected"]);

            // run test
            wpf.SplitDistance = distance;

            // validate test
            if (expected.Equals("null"))
            {
                Assert.IsTrue(string.IsNullOrEmpty(wpf.SplitDistance));
            }
            else
            {
                Assert.AreEqual(expected, wpf.SplitDistance);
            }
        }
Esempio n. 15
0
        public void CalculateTypeTest()
        {
            WpfVM wpf = new WpfVM();

            // get data
            wpf.Time         = Convert.ToString(TestContext.DataRow["Time"]);
            wpf.Pace         = Convert.ToString(TestContext.DataRow["Pace"]);
            wpf.Distance     = Convert.ToString(TestContext.DataRow["Distance"]);
            wpf.DistanceType = Convert.ToString(TestContext.DataRow["DistanceType"]);
            wpf.PaceType     = Convert.ToString(TestContext.DataRow["PaceType"]);
            string calcType = Convert.ToString(TestContext.DataRow["CalcType"]);
            string expected = Convert.ToString(TestContext.DataRow["Expected"]);

            ConvertCalcType(wpf, calcType);

            // run test
            wpf.CalculateTypeCommand.Execute(null);

            // validate test
            switch (calcType)
            {
            case "time":
                Assert.AreEqual(expected, wpf.Time);
                return;

            case "pace":
                Assert.AreEqual(expected, wpf.Pace);
                return;

            case "distance":
                Assert.AreEqual(expected, wpf.Distance);
                return;

            default:
                break;
            }

            Assert.Fail();
        }
Esempio n. 16
0
        public void CalculateTypeTestWithSplits()
        {
            WpfVM wpf = new WpfVM();

            // get data
            wpf.Time         = Convert.ToString(TestContext.DataRow["Time"]);
            wpf.Pace         = Convert.ToString(TestContext.DataRow["Pace"]);
            wpf.Distance     = Convert.ToString(TestContext.DataRow["Distance"]);
            wpf.DistanceType = Convert.ToString(TestContext.DataRow["DistanceType"]);
            wpf.PaceType     = Convert.ToString(TestContext.DataRow["PaceType"]);
            string calcType = Convert.ToString(TestContext.DataRow["CalcType"]);
            string expected = Convert.ToString(TestContext.DataRow["Expected"]);

            wpf.SplitDistance     = "1";
            wpf.SplitDistanceType = wpf.DistanceType;
            ConvertCalcType(wpf, calcType);

            // run test without many splits first
            wpf.ShowSplitsCommand.Execute(null);

            Assert.IsTrue(wpf.SplitList.Count > 1);

            int    hours   = 0;
            int    minutes = 0;
            double seconds = 0;

            ParseStrings.ParseTimeString(wpf.Time, ref hours, ref minutes, ref seconds);

            wpf.SplitDistance = Convert.ToString(TestContext.DataRow["SplitDistance"]);

            // run test second time to verify splits get recalculated
            wpf.CalculateTypeCommand.Execute(null);

            Assert.AreEqual(1, wpf.SplitList.Count);
            Assert.AreEqual(hours, wpf.SplitList[0].Hours);
            Assert.AreEqual(minutes, wpf.SplitList[0].Minutes);
            Assert.AreEqual(seconds, wpf.SplitList[0].Seconds);
        }
Esempio n. 17
0
        public void ShowSplitsTest()
        {
            WpfVM wpf = new WpfVM();

            // set data
            wpf.Time              = "5:00";
            wpf.Pace              = "5:00";
            wpf.Distance          = "1";
            wpf.DistanceType      = "miles";
            wpf.PaceType          = "minutesPerMile";
            wpf.SplitDistance     = "0.25";
            wpf.SplitDistanceType = "miles";

            // run test
            wpf.ShowSplitsCommand.Execute(null);

            // validate test
            ObservableCollection <Split> splits = wpf.SplitList;

            Assert.AreEqual(0, splits[0].Hours);
            Assert.AreEqual(1, splits[0].Minutes);
            Assert.AreEqual(15, splits[0].Seconds);
            Assert.AreEqual(0.25, splits[0].Distance);
        }