diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..09799671 --- /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 diff --git a/Console/Program.cs b/Console/Program.cs index b3fcdf6a..b71ca11b 100644 --- a/Console/Program.cs +++ b/Console/Program.cs @@ -84,7 +84,8 @@ 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..d84d2c58 100644 --- a/Tests/UnitTests.cs +++ b/Tests/UnitTests.cs @@ -1,13 +1,14 @@ -using System; +using System; using NUnit.Framework; namespace TravisCILab { [TestFixture] - public class Math + public class MathLi { + #region Add [Test] - public void Add_Valid() + public void Add_ValidLi() { 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_InvalidLi() { Assert.Throws(() => Program.Add("1", "a")); Assert.Throws(() => Program.Add("a", "1")); @@ -23,13 +24,117 @@ public void Add_Invalid() } [Test] - public void Add_Null() + public void Add_NullLi() { Assert.Throws(() => Program.Add("1", null)); Assert.Throws(() => Program.Add(null, "1")); Assert.Throws(() => Program.Add(null, null)); } + #endregion - // Implement 3 tests per operation, following a similar pattern as above + #region Subtract + [Test] + public void Subtract_ValidLi() + { + Assert.AreEqual(3, Program.Subtract("5", "2")); + Assert.AreEqual(1, Program.Subtract("3", "2")); + Assert.AreEqual(1, Program.Subtract("5", "4")); + } + + [Test] + public void Subtract_InvalidLi() + { + Assert.Throws(() => Program.Subtract("1", "a")); + Assert.Throws(() => Program.Subtract("a", "1")); + Assert.Throws(() => Program.Subtract("a", "a")); + } + + [Test] + public void Subtract_NullLi() + { + Assert.Throws(() => Program.Subtract("1", null)); + Assert.Throws(() => Program.Subtract(null, "1")); + Assert.Throws(() => Program.Subtract(null, null)); + } + #endregion + + #region Multiply + [Test] + public void Multiply_ValidLi() + { + Assert.AreEqual(2, Program.Multiply("1", "2")); + Assert.AreEqual(6, Program.Multiply("3", "2")); + Assert.AreEqual(5, Program.Multiply("5", "1")); + } + + [Test] + public void Multiply_InvalidLi() + { + Assert.Throws(() => Program.Multiply("1", "a")); + Assert.Throws(() => Program.Multiply("a", "1")); + Assert.Throws(() => Program.Multiply("a", "a")); + } + + [Test] + public void Multiply_NullLi() + { + Assert.Throws(() => Program.Multiply("1", null)); + Assert.Throws(() => Program.Multiply(null, "1")); + Assert.Throws(() => Program.Multiply(null, null)); + } + #endregion + + #region Divide + [Test] + public void Divide_ValidLi() + { + Assert.AreEqual(3, Program.Divide("3", "1")); + Assert.AreEqual(1.5, Program.Divide("3", "2")); + Assert.AreEqual(12, Program.Divide("24", "2")); + } + + [Test] + public void Divide_InvalidLi() + { + Assert.Throws(() => Program.Divide("1", "a")); + Assert.Throws(() => Program.Divide("a", "1")); + Assert.Throws(() => Program.Divide("a", "a")); + } + + [Test] + public void Divide_NullLi() + { + Assert.Throws(() => Program.Divide("1", null)); + Assert.Throws(() => Program.Divide(null, "1")); + Assert.Throws(() => Program.Divide(null, null)); + } + #endregion + + #region Power + [Test] + public void Power_ValidLi() + { + Assert.AreEqual(1, Program.Power("1", "2")); + Assert.AreEqual(9, Program.Power("3", "2")); + Assert.AreEqual(5, Program.Power("5", "1")); + } + + [Test] + public void Power_InvalidLi() + { + Assert.Throws(() => Program.Power("1", "a")); + Assert.Throws(() => Program.Power("a", "1")); + Assert.Throws(() => Program.Power("a", "a")); + } + + [Test] + public void Power_NullLi() + { + Assert.Throws(() => Program.Power("1", null)); + Assert.Throws(() => Program.Power(null, "1")); + Assert.Throws(() => Program.Power(null, null)); + } + #endregion } } +