diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..afd0e8a7 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,10 @@ +language: csharp +solution: TravisCI.sln +branches: + only: + - master +install: + - nuget restore TravisCI.sln +script: + - msbuild /p:Configuration=Release TravisCI.sln + - mono ./packages/NUnit.ConsoleRunner.*/tools/nunit3-console.exe ./Tests/bin/Release/Tests.dll \ No newline at end of file diff --git a/Console/Program.cs b/Console/Program.cs index b3fcdf6a..f0c618ae 100644 --- a/Console/Program.cs +++ b/Console/Program.cs @@ -84,7 +84,7 @@ public static double Divide(string x, string y) // Implement this method following a similar pattern as above public static double Power(string x, string y) { - throw new NotImplementedException(); + return Math.Pow(double.Parse(x), double.Parse(y)); } } diff --git a/Tests/UnitTests.cs b/Tests/UnitTests.cs index 84cde036..a66efedc 100644 --- a/Tests/UnitTests.cs +++ b/Tests/UnitTests.cs @@ -6,8 +6,9 @@ namespace TravisCILab [TestFixture] public class Math { + // Add tests [Test] - public void Add_Valid() + public void Add_ValidBernt() { Assert.AreEqual(3, Program.Add("1", "2")); Assert.AreEqual(5, Program.Add("3", "2")); @@ -15,7 +16,7 @@ public void Add_Valid() } [Test] - public void Add_Invalid() + public void Add_InvalidBernt() { Assert.Throws(() => Program.Add("1", "a")); Assert.Throws(() => Program.Add("a", "1")); @@ -23,13 +24,107 @@ public void Add_Invalid() } [Test] - public void Add_Null() + public void Add_NullBernt() { Assert.Throws(() => Program.Add("1", null)); Assert.Throws(() => Program.Add(null, "1")); Assert.Throws(() => Program.Add(null, null)); } + // Subtract Tests + [Test] + public void Subtract_ValidBernt() + { + Assert.AreEqual(-1, Program.Subtract("1", "2")); + Assert.AreEqual(1, Program.Subtract("3", "2")); + Assert.AreEqual(-2, Program.Subtract("5", "7")); + } + + [Test] + public void Subtract_InvalidBernt() + { + Assert.Throws(() => Program.Subtract("1", "a")); + Assert.Throws(() => Program.Subtract("a", "1")); + Assert.Throws(() => Program.Subtract("a", "a")); + } + + [Test] + public void Subtract_NullBernt() + { + Assert.Throws(() => Program.Subtract("1", null)); + Assert.Throws(() => Program.Subtract(null, "1")); + Assert.Throws(() => Program.Subtract(null, null)); + } + // Multiply tests + [Test] + public void Multiply_ValidBernt() + { + Assert.AreEqual(2, Program.Multiply("1", "2")); + Assert.AreEqual(6, Program.Multiply("3", "2")); + Assert.AreEqual(35, Program.Multiply("5", "7")); + } - // Implement 3 tests per operation, following a similar pattern as above + [Test] + public void Multiply_InvalidBernt() + { + Assert.Throws(() => Program.Multiply("1", "a")); + Assert.Throws(() => Program.Multiply("a", "1")); + Assert.Throws(() => Program.Multiply("a", "a")); + } + + [Test] + public void Multiply_NullBernt() + { + Assert.Throws(() => Program.Multiply("1", null)); + Assert.Throws(() => Program.Multiply(null, "1")); + Assert.Throws(() => Program.Multiply(null, null)); + } + // Divide tests + [Test] + public void Divide_ValidBernt() + { + Assert.AreEqual(0.5, Program.Divide("1", "2")); + Assert.AreEqual(1.5, Program.Divide("3", "2")); + Assert.AreEqual(20, Program.Divide("100", "5")); + } + + [Test] + public void Divide_InvalidBernt() + { + Assert.Throws(() => Program.Divide("1", "a")); + Assert.Throws(() => Program.Divide("a", "1")); + Assert.Throws(() => Program.Divide("a", "a")); + } + + [Test] + public void Divide_NullBernt() + { + Assert.Throws(() => Program.Divide("1", null)); + Assert.Throws(() => Program.Divide(null, "1")); + Assert.Throws(() => Program.Divide(null, null)); + } + // Power tests + [Test] + public void Power_ValidBernt() + { + Assert.AreEqual(1, Program.Power("1", "2")); + Assert.AreEqual(9, Program.Power("3", "2")); + Assert.AreEqual(1024, Program.Power("2", "10")); + } + + [Test] + public void Power_InvalidBernt() + { + Assert.Throws(() => Program.Power("1", "a")); + Assert.Throws(() => Program.Power("a", "1")); + Assert.Throws(() => Program.Power("a", "a")); + } + + [Test] + public void Power_NullBernt() + { + Assert.Throws(() => Program.Power("1", null)); + Assert.Throws(() => Program.Power(null, "1")); + Assert.Throws(() => Program.Power(null, null)); + } } }