コード例 #1
0
        public void displaySelectedFrame(string model)
        {
            BikeFrame frame = findFrame(model);

            if (frame != null)
            {
                tabFrameTxtModel.Text = frame.Model;
                tabFrameTxtPrice.Text = "£" + frame.Cost.ToString();
                if (frame.IsSpecialised)
                {
                    tabFrameTxtSpecialised.Text = "Specialised Component";
                }
                else
                {
                    tabFrameTxtSpecialised.Text = "Standard Component";
                }
                if (frame.Availability)
                {
                    tabFrameTxtStock.Text = "In Stock!";
                }
                else
                {
                    tabFrameTxtStock.Text = "Out of Stock";
                }
            }
        }
コード例 #2
0
ファイル: BikeTest.cs プロジェクト: mcgill-a/BuildABike
        public void FrameTest()
        {
            string model         = "Nukeproof Scout 290 Frame 2018";
            string colour        = "Red";
            int    size          = 17;
            bool   isSpecialised = true;
            double cost          = 349.99;
            bool   availability  = false;

            BikeFrame frame = new BikeFrame();

            frame.Model         = model;
            frame.Colour        = colour;
            frame.Size          = size;
            frame.IsSpecialised = isSpecialised;
            frame.Cost          = cost;
            frame.Availability  = availability;

            Assert.AreEqual(model, frame.Model, "Frame Test - Model");
            Assert.AreEqual(colour, frame.Colour, "Frame Test - Colour");
            Assert.AreEqual(size, frame.Size, "Frame Test - Size");
            Assert.AreEqual(isSpecialised, frame.IsSpecialised, "Frame Test - Specialised");
            Assert.AreEqual(cost, frame.Cost, "Frame Test - Cost");
            Assert.AreEqual(availability, frame.Availability, "Frame Test - Availability");
        }
コード例 #3
0
        private void tabFrameBtnConfirm_Click(object sender, RoutedEventArgs e)
        {
            string           sCaption      = "Build a Bike";
            MessageBoxButton btnMessageBox = MessageBoxButton.OK;
            MessageBoxImage  icnMessageBox = MessageBoxImage.Information;
            string           frame_errors  = "";

            if (tabFrameLstModels.SelectedIndex == -1)
            {
                MessageBox.Show("You need to select a Frame Model", sCaption, btnMessageBox, icnMessageBox);
            }
            else
            {
                BikeFrame frame = new BikeFrame();

                // Make sure a size is selected
                int    size   = 0;
                string colour = "unselected";
                if (tabFrameSize38.IsChecked == true)
                {
                    size = 15;
                }
                else if (tabFrameSize43.IsChecked == true)
                {
                    size = 17;
                }
                else if (tabFrameSize48.IsChecked == true)
                {
                    size = 19;
                }

                // Make sure a colour is selected
                if (tabFrameColourBlack.IsChecked == true)
                {
                    colour = "Black";
                }
                else if (tabFrameColourBlue.IsChecked == true)
                {
                    colour = "Blue";
                }
                else if (tabFrameColourGreen.IsChecked == true)
                {
                    colour = "Green";
                }
                else if (tabFrameColourOrange.IsChecked == true)
                {
                    colour = "Orange";
                }
                else if (tabFrameColourRed.IsChecked == true)
                {
                    colour = "Red";
                }
                else if (tabFrameColourWhite.IsChecked == true)
                {
                    colour = "White";
                }
                bool allInputsValid = true;

                if (size == 0)
                {
                    frame_errors  += "You need to select a Frame Size\n";
                    allInputsValid = false;
                }

                if (colour.Equals("unselected"))
                {
                    frame_errors  += "You need to select a Frame Colour";
                    allInputsValid = false;
                }

                if (allInputsValid)
                {
                    try
                    {
                        frame          = findFrame(tabFrameLstModels.SelectedItem.ToString());
                        frame.Colour   = colour;
                        frame.Size     = size;
                        bike.Frame     = frame;
                        frameCompleted = true;

                        TextBlock header = new TextBlock();
                        header.Text       = "Frame";
                        header.Background = Brushes.LightGreen;
                        tabFrame.Header   = header;
                    }
                    catch (ArgumentException error)
                    {
                        MessageBox.Show(error.Message, sCaption, btnMessageBox, icnMessageBox);
                    }
                }
                else
                {
                    MessageBox.Show(frame_errors, sCaption, btnMessageBox, icnMessageBox);
                }
            }
        }
コード例 #4
0
ファイル: BikeTest.cs プロジェクト: mcgill-a/BuildABike
        public void _fullBikeTestFail()
        {
            // Frame
            string model          = "Nukeproof Scout 290 Frame 2018";
            string invalid_colour = "Gray";
            int    size           = 17;
            bool   isSpecialised  = true;
            double cost           = 349.99;
            bool   availability   = false;

            BikeFrame frame = new BikeFrame();

            try
            {
                frame.Model         = model;
                frame.Colour        = invalid_colour;
                frame.Size          = size;
                frame.IsSpecialised = isSpecialised;
                frame.Cost          = cost;
                frame.Availability  = availability;
                Assert.Fail("No exception was thrown for an invalid colour");
            }
            catch (ArgumentException error)
            {
                Console.WriteLine(error.Message);
                Assert.AreEqual("Colour '" + invalid_colour + "' not available", error.Message);
            }


            // Group Set
            string gears  = "Some gears";
            string brakes = "Some brakes";

            isSpecialised = false;
            double invalid_cost = -50;

            availability = true;

            GroupSet groupset = new GroupSet();

            try
            {
                groupset.Gears        = gears;
                groupset.Brakes       = brakes;
                groupset.Cost         = invalid_cost;
                groupset.Availability = availability;
                Assert.Fail("No exception was thrown for an invalid cost");
            }
            catch (ArgumentException error)
            {
                Console.WriteLine(error.Message);
                Assert.AreEqual("Cost '" + invalid_cost + "' is not valid", error.Message);
            }

            // Wheels
            string invalid_model = "";

            isSpecialised = true;
            cost          = 180;
            availability  = false;

            Wheels wheels = new Wheels();

            try
            {
                wheels.Model         = invalid_model;
                wheels.IsSpecialised = isSpecialised;
                wheels.Cost          = cost;
                wheels.Availability  = availability;
                Assert.Fail("No exception was thrown for an invalid model");
            }
            catch (ArgumentException error)
            {
                Console.WriteLine(error.Message);
                Assert.AreEqual("Model '" + invalid_model + "' is not valid", error.Message);
            }


            // Finishing Set
            model = "Some model";
            string handlebars     = "Some handlebars";
            string invalid_saddle = "";

            isSpecialised = false;
            cost          = 214.99;
            availability  = true;

            FinishingSet finishingset = new FinishingSet();

            try
            {
                finishingset.Availability = availability;
                finishingset.Handlebars   = handlebars;
                finishingset.Saddle       = invalid_saddle;
                finishingset.Cost         = cost;
                finishingset.Availability = availability;
                Assert.Fail("No exception was thrown for an invalid saddle");
            }
            catch (ArgumentException error)
            {
                Console.WriteLine(error.Message);
                Assert.AreEqual("Saddle '" + invalid_saddle + "' is not valid", error.Message);
            }

            string invalid_type    = "invalid";
            bool   warrantyUpgrade = true;

            Bike bike = new Bike();

            try
            {
                bike.Type            = invalid_type;
                bike.WarrantyUpgrade = warrantyUpgrade;
                Assert.Fail("No exception was thrown for an invalid bike type");
            }
            catch (ArgumentException error)
            {
                Console.WriteLine(error.Message);
                Assert.AreEqual("Type '" + invalid_type + "' is not available", error.Message);
            }
        }
コード例 #5
0
ファイル: BikeTest.cs プロジェクト: mcgill-a/BuildABike
        public void _fullBikeTestPass()
        {
            // Frame
            string model         = "Nukeproof Scout 290 Frame 2018";
            string colour        = "Red";
            int    size          = 17;
            bool   isSpecialised = true;
            double cost          = 349.99;
            bool   availability  = false;

            BikeFrame frame = new BikeFrame();

            frame.Model         = model;
            frame.Colour        = colour;
            frame.Size          = size;
            frame.IsSpecialised = isSpecialised;
            frame.Cost          = cost;
            frame.Availability  = availability;

            // Group Set
            string gears  = "Some gears";
            string brakes = "Some brakes";

            isSpecialised = false;
            cost          = 469.99;
            availability  = true;

            GroupSet groupset = new GroupSet();

            groupset.Gears        = gears;
            groupset.Brakes       = brakes;
            groupset.Cost         = cost;
            groupset.Availability = availability;

            // Wheels
            model         = "Some wheels";
            isSpecialised = true;
            cost          = 240.99;
            availability  = false;

            Wheels wheels = new Wheels();

            wheels.Model         = model;
            wheels.IsSpecialised = isSpecialised;
            wheels.Cost          = cost;
            wheels.Availability  = availability;

            // Finishing Set
            string handlebars = "Some handlebars";
            string saddle     = "Some saddle";

            isSpecialised = false;
            cost          = 214.99;
            availability  = true;

            FinishingSet finishingset = new FinishingSet();

            finishingset.Handlebars   = handlebars;
            finishingset.Saddle       = saddle;
            finishingset.Cost         = cost;
            finishingset.Availability = availability;

            string type            = "Mountain Bike";
            bool   warrantyUpgrade = true;

            Bike bike = new Bike();

            bike.Frame           = frame;
            bike.GroupSet        = groupset;
            bike.Wheels          = wheels;
            bike.FinishingSet    = finishingset;
            bike.Type            = type;
            bike.WarrantyUpgrade = warrantyUpgrade;

            Assert.AreEqual(frame, bike.Frame, "FullBikeTest - Frame");
            Assert.AreEqual(groupset, bike.GroupSet, "FullBikeTest - Group Set");
            Assert.AreEqual(wheels, bike.Wheels, "FullBikeTest - Wheels");
            Assert.AreEqual(finishingset, bike.FinishingSet, "FullBikeTest - Finishing Set");
            Assert.AreEqual(type, bike.Type, "FullBikeTest - Type");
            Assert.AreEqual(warrantyUpgrade, bike.WarrantyUpgrade, "FullBikeTest - Warranty Upgrade");
            Assert.AreEqual(1325.96, bike.BikeCost, "FullBikeTest - Cost");
        }