예제 #1
0
        public void TestAvgDirection014_Multiple()
        {
            var measureList = new List <Measure>();

            measureList.Add(new Measure {
                Speed = 1, Direction = 0
            });
            measureList.Add(new Measure {
                Speed = 1, Direction = 0
            });
            measureList.Add(new Measure {
                Speed = 1, Direction = 0
            });
            measureList.Add(new Measure {
                Speed = 1, Direction = 0
            });
            measureList.Add(new Measure {
                Speed = 1, Direction = 90
            });

            var result         = WindDirectionCalculator.CalculateAvgDirection(measureList);
            var expectedResult = 14;

            Assert.AreEqual(expectedResult, result);
        }
예제 #2
0
 public void TestCompas_ALL()
 {
     for (var a = 0.0; a < 360; a += 22.5)
     {
         Assert.AreEqual(WindDirectionCalculator.AngleToCompass((a + 11) % 360), WindDirectionCalculator.AngleToCompass(a));
         Assert.AreNotEqual(WindDirectionCalculator.AngleToCompass((a + 12) % 360), WindDirectionCalculator.AngleToCompass(a));
     }
 }
예제 #3
0
        public void TestCompas_N()
        {
            Assert.AreEqual("N", WindDirectionCalculator.AngleToCompass(0));
            Assert.AreEqual("N", WindDirectionCalculator.AngleToCompass(10));
            Assert.AreEqual("N", WindDirectionCalculator.AngleToCompass(350));

            Assert.AreNotEqual("N", WindDirectionCalculator.AngleToCompass(30));
            Assert.AreNotEqual("N", WindDirectionCalculator.AngleToCompass(360 - 30));

            Assert.AreEqual("N", WindDirectionCalculator.AngleToCompass(11));
            Assert.AreNotEqual("N", WindDirectionCalculator.AngleToCompass(12));

            Assert.AreEqual("N", WindDirectionCalculator.AngleToCompass(360 - 11));
            Assert.AreNotEqual("N", WindDirectionCalculator.AngleToCompass(360 - 12));
        }
예제 #4
0
        public void TestAvgDirection270()
        {
            var measureList = new List <Measure>();

            measureList.Add(new Measure {
                Speed = 1, Direction = 260
            });
            measureList.Add(new Measure {
                Speed = 1, Direction = 280
            });

            var result         = WindDirectionCalculator.CalculateAvgDirection(measureList);
            var expectedResult = 270;

            Assert.AreEqual(expectedResult, result);
        }
예제 #5
0
        public void TestAvgDirection270_090_Scale()
        {
            var measureList = new List <Measure>();

            for (var i = 270; i < 360; i++)
            {
                measureList.Add(new Measure {
                    Speed = 1, Direction = i
                });
            }
            for (var i = 0; i <= 90; i++)
            {
                measureList.Add(new Measure {
                    Speed = i, Direction = i
                });
            }

            var result         = WindDirectionCalculator.CalculateAvgDirection(measureList);
            var expectedResult = 59;

            Assert.AreEqual(expectedResult, result);
        }