aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Zelent <zelent.marcin@protonmail.com>2017-12-12 14:24:47 +0100
committerMarcin Zelent <zelent.marcin@protonmail.com>2017-12-12 14:24:47 +0100
commite4e7dbf553bfa17a39830e67d14d3715946beab3 (patch)
treebf6c34aaeecb938f9ea11612d214a887ceb5d7ca /PollutometerWebApi.Tests/SqlOperatorTests.cs
parent54d1019413958e0ba24b85007c1f5f97ca19a0b3 (diff)
Added unit tests and fixed some bugs.
Diffstat (limited to 'PollutometerWebApi.Tests/SqlOperatorTests.cs')
-rw-r--r--PollutometerWebApi.Tests/SqlOperatorTests.cs68
1 files changed, 68 insertions, 0 deletions
diff --git a/PollutometerWebApi.Tests/SqlOperatorTests.cs b/PollutometerWebApi.Tests/SqlOperatorTests.cs
new file mode 100644
index 0000000..2930679
--- /dev/null
+++ b/PollutometerWebApi.Tests/SqlOperatorTests.cs
@@ -0,0 +1,68 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using PollutometerWebApi.Models;
+using System;
+
+namespace PollutometerWebApi.Tests
+{
+ [TestClass()]
+ public class SqlOperatorTests
+ {
+ [TestMethod()]
+ public void GetReadingsTest()
+ {
+ var readings = SqlOperator.GetReadings("SELECT * FROM Readings");
+ Assert.IsTrue(readings.Count >= 1);
+ }
+
+ [TestMethod()]
+ public void PostReadingTest()
+ {
+ var newReading = new Reading
+ {
+ TimeStamp = (int)DateTimeOffset.Now.ToUnixTimeSeconds(),
+ Co = 0.0,
+ No = 0.0,
+ So = 0.0
+ };
+ SqlOperator.PostReading(newReading);
+ var command = "SELECT * FROM Readings " +
+ "WHERE TimeStamp IN(SELECT MAX(TimeStamp) FROM Readings)";
+ var latestReading = SqlOperator.GetReadings(command)[0];
+ var command2 = $"SELECT * FROM Readings WHERE Id={latestReading.Id}";
+ var reading = SqlOperator.GetReadings(command2)[0];
+ Assert.AreEqual(newReading.TimeStamp, reading.TimeStamp);
+ }
+
+ [TestMethod()]
+ public void PutReadingTest()
+ {
+ var newReading = new Reading
+ {
+ TimeStamp = (int)DateTimeOffset.Now.ToUnixTimeSeconds(),
+ Co = 0.5,
+ No = 0.5,
+ So = 0.5
+
+ };
+ var command = "SELECT * FROM Readings " +
+ "WHERE TimeStamp IN(SELECT MAX(TimeStamp) FROM Readings)";
+ var latestReading = SqlOperator.GetReadings(command)[0];
+ SqlOperator.PutReading(latestReading.Id, newReading);
+ var command2 = $"SELECT * FROM Readings WHERE Id={latestReading.Id}";
+ var reading = SqlOperator.GetReadings(command2)[0];
+ Assert.AreEqual(newReading.TimeStamp, reading.TimeStamp);
+ }
+
+ [TestMethod()]
+ public void DeleteReadingTest()
+ {
+ var command = "SELECT * FROM Readings " +
+ "WHERE TimeStamp IN(SELECT MAX(TimeStamp) FROM Readings)";
+ var latestReading = SqlOperator.GetReadings(command)[0];
+ SqlOperator.DeleteReading(latestReading.Id);
+ var command2 = $"SELECT * FROM Readings WHERE Id={latestReading.Id}";
+ var readings = SqlOperator.GetReadings(command2);
+ Assert.IsTrue(readings.Count == 0);
+ }
+ }
+} \ No newline at end of file