diff --git a/Advanced Software Engineering/Advanced Software Engineering Tests/Advanced Software Engineering Tests.xml b/Advanced Software Engineering/Advanced Software Engineering Tests/Advanced Software Engineering Tests.xml new file mode 100644 index 0000000..985114a --- /dev/null +++ b/Advanced Software Engineering/Advanced Software Engineering Tests/Advanced Software Engineering Tests.xml @@ -0,0 +1,127 @@ + + + + Advanced Software Engineering Tests + + + + + The CommandTester class tests the commands possible, mostly by getting a verb and checking it's description.. + + + + + Automatically tests: + - moveto + - drawto + - line + - shape + Current todo list: + - square + - rectangle + - circle + - triangle + - dot + - clear + - pen + - fill + + + + + tests the "move" command. See . + + + + + tests the "moveto" command. See . + + + + + tests the "drawto" command. See . + + + + + tests the "line" command. See . + + + + + tests the "lineto" command. See . + + + + + tests the "regularpolygon" command. See . + + + + + tests the "rp" command. See . + + + + + tests the "regularpolygon" command. See . + + + + + tests the "rp" command. See . + + + + + tests the "square" command. See . + + + + + tests the "square" command. See . + + + + + tests the "quadrilateral" command using . See . + + + + + tests the "triangle" command. See . + + + + + tests the "triangle" command. See . + + + + + test the "dot" command. See . + + + + + tests the + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + diff --git a/Advanced Software Engineering/Advanced Software Engineering Tests/CommandTester.cs b/Advanced Software Engineering/Advanced Software Engineering Tests/CommandTester.cs index 671799e..88b2f93 100644 --- a/Advanced Software Engineering/Advanced Software Engineering Tests/CommandTester.cs +++ b/Advanced Software Engineering/Advanced Software Engineering Tests/CommandTester.cs @@ -1,14 +1,35 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Text; using Advanced_Software_Engineering; +using Advanced_Software_Engineering.Verbs.DrawingVerbs; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Advanced_Software_Engineering_Tests { + /// + /// The CommandTester class tests the commands possible, mostly by getting a verb and checking it's description.. + /// [TestClass] public class CommandTester { Random rand = new Random(); + /// + /// Automatically tests: + /// - moveto + /// - drawto + /// - line + /// - rp + /// Current todo list: + /// - square + /// - rectangle + /// - circle + /// - triangle + /// - dot + /// - clear + /// - pen + /// - fill + /// [TestMethod] public void VerbFactoryTester_Automatic1() { Dictionary commandParamaterNumber = new Dictionary @@ -17,16 +38,16 @@ namespace Advanced_Software_Engineering_Tests { {"drawto", new int[] { 2 } }, {"line", new int[] { 2 } }, {"lineto", new int[] { 2 } }, - {"shape", new int[] { 2, 3 } }, - + {"rp", new int[] { 2, 3 } }, + //todo: {"square", new int[] { 1, 2, 8 } }, {"rectangle", new int[] { 1, 2, 6 } }, {"circle", new int[] { 1 } }, {"triangle", new int[] { 1, 2 } }, {"dot", new int[] { 0 } }, {"clear", new int[] { 0 } }, - {"pen", new int[] {1, 3 } }, - {"fill", new int[] {1, 3 } } + {"pen", new int[] { 1, 3 } }, + {"fill", new int[] { 1, 3 } } }; foreach (string command in commandParamaterNumber.Keys) { @@ -66,6 +87,9 @@ namespace Advanced_Software_Engineering_Tests { } + /// + /// tests the "move" command. See . + /// [TestMethod] public void MoveToTester_Manual1() { string input = "move 200, 300"; @@ -78,6 +102,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "moveto" command. See . + /// [TestMethod] public void MoveToTester_Manual2() { string input = "moveto 200, 300"; @@ -90,6 +117,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "drawto" command. See . + /// [TestMethod] public void DrawToTester_Manual1() { string input = "drawto 200, 300"; @@ -100,6 +130,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "line" command. See . + /// [TestMethod] public void DrawToTester_Manual2() { string input = "line 200, 300"; @@ -110,6 +143,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "lineto" command. See . + /// [TestMethod] public void DrawToTester_Manual3() { string input = "lineto 200, 300"; @@ -120,6 +156,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "regularpolygon" command. See . + /// [TestMethod] public void RegularPolygonTester_Manual1() { string input = "regularpolygon 3, 50"; @@ -136,6 +175,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "rp" command. See . + /// [TestMethod] public void RegularPolygonTester_Manual2() { string input = "rp 3, 50"; @@ -152,6 +194,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "regularpolygon" command. See . + /// [TestMethod] public void RegularPolygonTester_Manual3() { string input = "regularpolygon 3, 50, 25"; @@ -168,6 +213,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "rp" command. See . + /// [TestMethod] public void RegularPolygonTester_Manual4() { string input = "rp 3, 50, 25"; @@ -184,6 +232,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "square" command. See . + /// [TestMethod] public void SquareTester_Manual1() { string input = "square 500"; @@ -200,6 +251,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "square" command. See . + /// [TestMethod] public void SquareTester_Manual2() { string input = "square 500, 45"; @@ -216,6 +270,46 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "quadrilateral" command using . See . + /// + [TestMethod] + public void QuadrilateralTester_Manual1() { + string input = "quadrilateral 1, 2, 3, 4, 5, 6, 7, 8"; + Point[] points = { + new Point(1, 2), + new Point(3, 4), + new Point(5, 6), + new Point(7, 8) + }; + + Verb verb = VerbFactory.MakeVerb(null, input); + + string verbDesc = verb.GetDescription(); + string correctDesc = new DrawLines(null, points).GetDescription(); + + Assert.AreEqual(verbDesc, correctDesc); + } + + /// + /// Tests the "circle" command. See . + /// + [TestMethod] + public void CircleTester_Manual1() { + string input = "circle 100"; + + Verb verb = VerbFactory.MakeVerb(null, input); + + string verbDesc = verb.GetDescription(); + + string correctDesc = "Draws a circle radius " + 100d.ToString() + ", with origin of the pen"; + + Assert.AreEqual(correctDesc, verbDesc); + } + + /// + /// tests the "triangle" command. See . + /// [TestMethod] public void TriangleTester_Manual1() { string input = "triangle 500"; @@ -232,6 +326,9 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "triangle" command. See . + /// [TestMethod] public void TriangleTester_Manual2() { string input = "triangle 500, 45"; @@ -248,90 +345,123 @@ namespace Advanced_Software_Engineering_Tests { Assert.AreEqual(correctDesc, verbDesc); } + /// + /// test the "dot" command. See . + /// [TestMethod] public void DotTester_Manual1() { string input = "dot"; Verb verb = VerbFactory.MakeVerb(null, input); string verbDesc = verb.GetDescription(); - string correctDesc = "Dots the pen at pen position"; //undecided + string correctDesc = "Places a dot where the pen currently is"; Assert.AreEqual(correctDesc, verbDesc); } + /// + /// tests the "clear" command. See . + /// [TestMethod] public void ClearTester_Manual1() { - string input = ""; - string[] inputParameters = { }; + string input = "clear"; Verb verb = VerbFactory.MakeVerb(null, input); string verbDesc = verb.GetDescription(); - string correctDesc = null; //undecided + string correctDesc = "Clears the canvas"; Assert.AreEqual(correctDesc, verbDesc); } + /// + /// Tests the "reset" command. See + /// [TestMethod] - public void ResetTester_Manual1() { - string input = ""; - string[] inputParameters = { }; + public void ResetPenTester_Manual1() { + string input = "reset"; Verb verb = VerbFactory.MakeVerb(null, input); string verbDesc = verb.GetDescription(); - string correctDesc = null; //undecided + string correctDesc = "Moves pen to the start (0, 0)"; Assert.AreEqual(correctDesc, verbDesc); } + /// + /// Tests the "resetpen" command. See . + /// + [TestMethod] + public void ResetPenTester_Manual2() { + string input = "resetpen"; + Verb verb = VerbFactory.MakeVerb(null, input); + string verbDesc = verb.GetDescription(); + string correctDesc = "Moves pen to the start (0, 0)"; + + Assert.AreEqual(correctDesc, verbDesc); + } + + /// + /// Tests the command "pen". See + /// [TestMethod] public void PenTester_Manual1() { - string input = ""; - string[] inputParameters = { }; + string input = "pen red"; Verb verb = VerbFactory.MakeVerb(null, input); string verbDesc = verb.GetDescription(); - string correctDesc = null; //undecided + string correctDesc = "Set pen color to: red"; Assert.AreEqual(correctDesc, verbDesc); } + /// + /// Tests the command "fill". See . + /// [TestMethod] public void FillTester_Manual1() { - string input = ""; - string[] inputParameters = { }; + string input = "fill pink"; Verb verb = VerbFactory.MakeVerb(null, input); string verbDesc = verb.GetDescription(); - string correctDesc = null; //undecided + string correctDesc = "Set fill color to: pink"; Assert.AreEqual(correctDesc, verbDesc); } + /// + /// Tests the "if" command. It hasn't been implemented yet. + /// [TestMethod] public void IfTester_Manual1() { - string input = ""; - string[] inputParameters = { }; + string input = "if i == 10"; + Verb verb = VerbFactory.MakeVerb(null, input); string verbDesc = verb.GetDescription(); - string correctDesc = null; //undecided + string correctDesc = "Tests if variable 'i' is equal to 10"; Assert.AreEqual(correctDesc, verbDesc); } + /// + /// Tests the "def" command. It hasn't been implemented yet. + /// [TestMethod] public void MethodTester_Manual1() { - string input = ""; - string[] inputParameters = { }; + string input = "def duck, int i"; + Verb verb = VerbFactory.MakeVerb(null, input); string verbDesc = verb.GetDescription(); - string correctDesc = "Create a new method"; + string correctDesc = "Create a new method called 'duck' with input 'int i'. The method: "; Assert.AreEqual(correctDesc, verbDesc); } + /// + /// Tests the "int" declaration and assignment. It hasn't been implemented yet. + /// [TestMethod] public void ValueTester_Manual1() { - string input = ""; - string[] inputParameters = { }; + string input = "int i = 10"; + Verb verb = VerbFactory.MakeVerb(null, input); string verbDesc = verb.GetDescription(); - string correctDesc = null; //undecided + string correctDesc = "Declares and sets integer 'i' to '10'"; Assert.AreEqual(correctDesc, verbDesc); }