From 956994034bff3feb8a0e7fb45338a9e7704374e2 Mon Sep 17 00:00:00 2001 From: Jone Hjorteland Date: Tue, 7 Jan 2025 15:37:49 +0100 Subject: [PATCH] Finished exercise and extentions --- Boolean.CSharp.Main/Core.cs | 9 ++++---- Boolean.CSharp.Main/Extension.cs | 33 +++++++++++++++++++++++++-- Boolean.CSharp.Main/Misc/Bicycle.cs | 7 ++++++ Boolean.CSharp.Main/Misc/Car.cs | 4 ++-- Boolean.CSharp.Main/Misc/Motorbike.cs | 1 + Boolean.CSharp.Main/Misc/Unicycle.cs | 5 ++++ Boolean.CSharp.Test/ExtensionTests.cs | 2 +- 7 files changed, 51 insertions(+), 10 deletions(-) diff --git a/Boolean.CSharp.Main/Core.cs b/Boolean.CSharp.Main/Core.cs index e09c536..33c23f7 100644 --- a/Boolean.CSharp.Main/Core.cs +++ b/Boolean.CSharp.Main/Core.cs @@ -30,7 +30,7 @@ public Car(string Make) } */ - Car car = new Car("Volkswagen"); + Car car = new Car("Volkswagen", "Beetle"); /* When the car in instantiated, the constructor is passed a string in this case Volkswagen which is a Make of car is passed in. Within the constructor the 'string Make' variable has scope within the constructor and assiged to the _make member now visible to the whole class @@ -108,7 +108,7 @@ public Unicycle Question4() //TIP see we already have an internal member for the unicyclist name: _nameOfUnicyclist so you can use this to store the name internally // it is good practice to name internal class variable with an _ at the beginning - Unicycle unicycle = new Unicycle(); + Unicycle unicycle = new Unicycle("Jone Hjorteland"); @@ -132,11 +132,10 @@ What are the parameters and types? */ Aeroplane plane = new Aeroplane(); plane.FlightDetails("LHR", "JFK"); - + //TODO: 5. Call the FlightDetails method that sets the cancelled message and cancel the flight + plane.FlightDetails("Flight cancelled"); - //write code here - return plane; } diff --git a/Boolean.CSharp.Main/Extension.cs b/Boolean.CSharp.Main/Extension.cs index 80c1db6..16f03fe 100644 --- a/Boolean.CSharp.Main/Extension.cs +++ b/Boolean.CSharp.Main/Extension.cs @@ -2,6 +2,7 @@ +using System.Linq; using System.Reflection.Metadata.Ecma335; namespace Boolean.CSharp.Main @@ -12,18 +13,46 @@ public class Extension //Implement the following methods: //TODO: 1. add, which accepts two floats and returns a float (both floats added together) + public float add(float a, float b) { return a + b; } //TODO: 2. add, which accepts two doubles and returns a double (both doubles added together) + public double add(double a, double b) { return a + b; } - //TODO: 3. subtract, which accepts two floats and returns a float (first float minus second float) + //TODO: 3. subtract, which accepts two floats and returns a float (first float minus second float) + public float subtract(float a, float b) { return a - b; } //TODO: 4. subtract, which accepts a String and a char and returns a string with all instances of the provided char removed + public string subtract(string a, char b) { return a.Replace(b.ToString(),""); } //TODO: 5. multiply, which accepts two ints and returns an int (first int multiplied by second int) + public int multiply(int a, int b) { return a * b; } //TODO: 6. multiply, which accepts a string and an int, and returns a string containing the provided string as many times as the provided int separated by a comma. E.g. multiply("Hello", 3) -> "Hello,Hello,Hello" - + public string multiply(string a, int b) + { + string result = ""; + for (int i = 0; i < b; i++) + { + result += a; + if (i != b - 1) + { + result += ","; + } + } + return result; + } + //TODO: 7. multiply, which accepts an array of Strings that each contain a number, and an int. The method should return an array of ints that contain the value of multiplying each String number by the provided int E.g. multiply(["2", "7", "3"], 3) -> [6, 21, 9] + public int[] multiply(string[] a, int b) + { + int[] result = new int[a.Length]; + for (int i = 0;i < result.Length; i++) + { + string stringNumber = a[i]; + result[i] = int.Parse(stringNumber) * b; + } + return result; + } } } diff --git a/Boolean.CSharp.Main/Misc/Bicycle.cs b/Boolean.CSharp.Main/Misc/Bicycle.cs index f218c0e..d91b930 100644 --- a/Boolean.CSharp.Main/Misc/Bicycle.cs +++ b/Boolean.CSharp.Main/Misc/Bicycle.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using static System.Net.Mime.MediaTypeNames; namespace Boolean.CSharp.Main.Misc { @@ -11,5 +12,11 @@ public class Bicycle private int _wheelCount; public int WheelCount { get; set; } + + public Bicycle() + { + _wheelCount = 2; + WheelCount = _wheelCount; + } } } diff --git a/Boolean.CSharp.Main/Misc/Car.cs b/Boolean.CSharp.Main/Misc/Car.cs index d810f5f..2dde0d8 100644 --- a/Boolean.CSharp.Main/Misc/Car.cs +++ b/Boolean.CSharp.Main/Misc/Car.cs @@ -17,10 +17,10 @@ public Car() _model = string.Empty; _make = string.Empty; } - public Car(string Make) + public Car(string Make, string Model) { _make = Make; - _model = string.Empty; + _model = Model; } public string Make diff --git a/Boolean.CSharp.Main/Misc/Motorbike.cs b/Boolean.CSharp.Main/Misc/Motorbike.cs index 6fcf20b..700ad8a 100644 --- a/Boolean.CSharp.Main/Misc/Motorbike.cs +++ b/Boolean.CSharp.Main/Misc/Motorbike.cs @@ -22,6 +22,7 @@ public Motorbike() public Motorbike(string Make, string Model) { + _cc = 373; _make = Make; _model = Model; } diff --git a/Boolean.CSharp.Main/Misc/Unicycle.cs b/Boolean.CSharp.Main/Misc/Unicycle.cs index 461cb23..9aa7766 100644 --- a/Boolean.CSharp.Main/Misc/Unicycle.cs +++ b/Boolean.CSharp.Main/Misc/Unicycle.cs @@ -12,5 +12,10 @@ public class Unicycle public string NameOfUnicyclist { get => _nameOfUnicyclist; set => _nameOfUnicyclist = value; } public int WheelCount { get; set; } = 1; + + public Unicycle(string nameOfUnicyclist) + { + _nameOfUnicyclist = nameOfUnicyclist; + } } } diff --git a/Boolean.CSharp.Test/ExtensionTests.cs b/Boolean.CSharp.Test/ExtensionTests.cs index f147497..9892a26 100644 --- a/Boolean.CSharp.Test/ExtensionTests.cs +++ b/Boolean.CSharp.Test/ExtensionTests.cs @@ -87,7 +87,7 @@ public void TestQuestion6() Extension extension = new Extension(); - string result = extension.multiply(source, 3); + string result = extension.multiply(source, dupes); Assert.IsTrue("Hello,Hello,Hello" == result); }