Пример #1
0
        public void TestAddAndRetrieveTemperatures()
        {
            Temperature[]      temp = new Temperature[2];
            SensorLocationEnum loc1 = SensorLocationEnum.AZ_MOTOR;

            //Generate current time
            long dateTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

            //Make 2 new temperatures
            Temperature t1 = Temperature.Generate(dateTime, 500.0, loc1);
            Temperature t2 = Temperature.Generate(dateTime, 999.0, loc1);

            temp[0] = (t1);
            temp[1] = (t2);

            DatabaseOperations.AddSensorData(temp, true);
            List <Temperature> tempReturn = DatabaseOperations.GetTEMPData(dateTime - 1, dateTime + 1, loc1);

            Assert.AreEqual(tempReturn.Count, 2);

            //Test first temp
            Assert.AreEqual(temp[tempReturn.Count - 1].location_ID, tempReturn[tempReturn.Count - 1].location_ID);
            Assert.AreEqual(temp[tempReturn.Count - 1].temp, tempReturn[tempReturn.Count - 1].temp);
            Assert.AreEqual(temp[tempReturn.Count - 1].TimeCapturedUTC, tempReturn[tempReturn.Count - 1].TimeCapturedUTC);

            //Test second temp
            Assert.AreEqual(temp[tempReturn.Count - 2].location_ID, tempReturn[tempReturn.Count - 2].location_ID);
            Assert.AreEqual(temp[tempReturn.Count - 2].temp, tempReturn[tempReturn.Count - 2].temp);
            Assert.AreEqual(temp[tempReturn.Count - 2].TimeCapturedUTC, tempReturn[tempReturn.Count - 2].TimeCapturedUTC);
        }
Пример #2
0
        public void TestAddAndRetrieveAccelerations()
        {
            Acceleration[]     acc  = new Acceleration[2];
            SensorLocationEnum loc1 = SensorLocationEnum.AZ_MOTOR;

            //Generate current time
            long dateTime1 = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

            //Make 2 new Accelerations
            Acceleration a1 = Acceleration.Generate(dateTime1, 1, 1, 1, loc1);
            Acceleration a2 = Acceleration.Generate(dateTime1, 2, 2, 2, loc1);

            acc[0] = (a1);
            acc[1] = (a2);


            DatabaseOperations.AddSensorData(acc, true);
            List <Acceleration> accReturn = DatabaseOperations.GetACCData(dateTime1 - 1, dateTime1 + 1, loc1);

            Assert.AreEqual(accReturn.Count, 2);

            //Test first acc
            Assert.AreEqual(acc[accReturn.Count - 1].location_ID, accReturn[accReturn.Count - 1].location_ID);
            Assert.AreEqual(acc[accReturn.Count - 1].x, accReturn[accReturn.Count - 1].x);
            Assert.AreEqual(acc[accReturn.Count - 1].y, accReturn[accReturn.Count - 1].y);
            Assert.AreEqual(acc[accReturn.Count - 1].z, accReturn[accReturn.Count - 1].z);
            Assert.AreEqual(acc[accReturn.Count - 1].TimeCaptured, accReturn[accReturn.Count - 1].TimeCaptured);

            //Test second acc
            Assert.AreEqual(acc[accReturn.Count - 2].location_ID, accReturn[accReturn.Count - 2].location_ID);
            Assert.AreEqual(acc[accReturn.Count - 2].x, accReturn[accReturn.Count - 2].x);
            Assert.AreEqual(acc[accReturn.Count - 2].y, accReturn[accReturn.Count - 2].y);
            Assert.AreEqual(acc[accReturn.Count - 2].z, accReturn[accReturn.Count - 2].z);
            Assert.AreEqual(acc[accReturn.Count - 2].TimeCaptured, accReturn[accReturn.Count - 2].TimeCaptured);
        }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="data"></param>
        protected void interpretData(dynamic data)
        {
            double threshold = 0;

            try {
                List <Temperature>  temps = new List <Temperature>();
                List <Acceleration> accs  = new List <Acceleration>();
                foreach (dynamic element in data.data)
                {
                    if (data.type == "temp")
                    {
                        temps.Add(Temperature.Generate(element.time, element.val, SensorLocationEnumTypeConversionHelper.FromInt(element.loc)));
                        threshold = 80;
                    }
                    else if (data.type == "acc")
                    {
                        accs.Add(Acceleration.Generate(element.time, element.val, element.x, element.y, element.z, SensorLocationEnumTypeConversionHelper.FromInt(element.loc)));
                        threshold = 1.65;
                    }
                    else
                    {
                        Console.WriteLine("Datatype not found");
                        return;
                    }
                    if (element.val > threshold)
                    {
                        // Console.WriteLine( element.val );
                        //  Console.WriteLine( element.time - DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
                    }
                }
                DatabaseOperations.AddSensorData(temps);
                DatabaseOperations.AddSensorData(accs);
            } catch (Exception e) {
                Console.WriteLine(e + "line 229");
            }
        }