Example #1
0
        public void TestNextDataItem()
        {
            BuoyInfoAccessor buoyInfoAccessor = new BuoyInfoAccessor();

            Assert.IsFalse(buoyInfoAccessor.NextDataItem());

            buoyInfoAccessor.SetBuoyData(new List <BuoyInfo>()
            {
                new BuoyInfo()
            });
            Assert.IsFalse(buoyInfoAccessor.NextDataItem());
        }
Example #2
0
        public void TestPreviousDataItem()
        {
            BuoyInfoAccessor buoyInfoAccessor = new BuoyInfoAccessor();

            Assert.IsFalse(buoyInfoAccessor.PreviousDataItem());

            buoyInfoAccessor.SetBuoyData(new List <BuoyInfo>()
            {
                new BuoyInfo(), new BuoyInfo()
            });
            Assert.IsTrue(buoyInfoAccessor.NextDataItem());
            Assert.IsFalse(buoyInfoAccessor.NextDataItem());     // no more next items in list of data
            Assert.IsTrue(buoyInfoAccessor.PreviousDataItem());
            Assert.IsFalse(buoyInfoAccessor.PreviousDataItem()); // no more previous items in list of data
        }
Example #3
0
        public void TestGust()
        {
            BuoyInfoAccessor buoyInfoAccessor = new BuoyInfoAccessor();

            buoyInfoAccessor.SetBuoyData(new List <BuoyInfo>()
            {
                new BuoyInfo().WithGust(10),
                new BuoyInfo().WithGust(10.1f),
                new BuoyInfo().WithGust(10001)
            });
            Assert.AreEqual("10 m/s", buoyInfoAccessor.Gust(BuoyInfoAccessor.METERS_PER_SECOND));
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("10.1 m/s", buoyInfoAccessor.Gust(BuoyInfoAccessor.METERS_PER_SECOND));
            Assert.AreEqual("19.6 knots", buoyInfoAccessor.Gust(BuoyInfoAccessor.KNOTS));
            Assert.ThrowsException <NotImplementedException>(() => buoyInfoAccessor.Gust("rods/hour"));
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("?", buoyInfoAccessor.Gust(BuoyInfoAccessor.METERS_PER_SECOND));
        }
Example #4
0
        public void TestSeaSurfaceTemp()
        {
            BuoyInfoAccessor buoyInfoAccessor = new BuoyInfoAccessor();

            buoyInfoAccessor.SetBuoyData(new List <BuoyInfo>()
            {
                new BuoyInfo().WithSeaSurfaceTemp(20),
                new BuoyInfo().WithSeaSurfaceTemp(-1),
                new BuoyInfo().WithSeaSurfaceTemp(10001)
            });
            Assert.AreEqual("20°C", buoyInfoAccessor.SeaSurfaceTemp(BuoyInfoAccessor.CELSIUS));
            Assert.AreEqual("68°F", buoyInfoAccessor.SeaSurfaceTemp(BuoyInfoAccessor.FAHRENHEIT));
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("-1°C", buoyInfoAccessor.SeaSurfaceTemp(BuoyInfoAccessor.CELSIUS));
            Assert.AreEqual("30.2°F", buoyInfoAccessor.SeaSurfaceTemp(BuoyInfoAccessor.FAHRENHEIT));
            Assert.ThrowsException <NotImplementedException>(() => buoyInfoAccessor.SeaSurfaceTemp('K'));
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("?", buoyInfoAccessor.SeaSurfaceTemp(BuoyInfoAccessor.CELSIUS));
        }
Example #5
0
        public void TestWaveHeight()
        {
            BuoyInfoAccessor buoyInfoAccessor = new BuoyInfoAccessor();

            buoyInfoAccessor.SetBuoyData(new List <BuoyInfo>()
            {
                new BuoyInfo().WithWaveHeight(1),
                new BuoyInfo().WithWaveHeight(10001)
            });
            Assert.AreEqual("1 meters", buoyInfoAccessor.WaveHeight(BuoyInfoAccessor.METERS));
            Assert.ThrowsException <NotImplementedException>(() => buoyInfoAccessor.WaveHeight("rods"));
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("?", buoyInfoAccessor.WaveHeight(BuoyInfoAccessor.METERS));
        }
Example #6
0
        public void TestWindDirection()
        {
            BuoyInfoAccessor buoyInfoAccessor = new BuoyInfoAccessor();

            buoyInfoAccessor.SetBuoyData(new List <BuoyInfo>()
            {
                new BuoyInfo().WithWindDirection(0),
                new BuoyInfo().WithWindDirection(44),
                new BuoyInfo().WithWindDirection(45),
                new BuoyInfo().WithWindDirection(135),
                new BuoyInfo().WithWindDirection(136),
                new BuoyInfo().WithWindDirection(224),
                new BuoyInfo().WithWindDirection(225),
                new BuoyInfo().WithWindDirection(315),
                new BuoyInfo().WithWindDirection(316),
                new BuoyInfo().WithWindDirection(360),
                new BuoyInfo().WithWindDirection(361),
                new BuoyInfo().WithWindDirection(-1)
            });
            Assert.AreEqual("0°N", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("44°N", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("45°E", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("135°E", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("136°S", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("224°S", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("225°W", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("315°W", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("316°N", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("360°N", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("?", buoyInfoAccessor.WindDirection());
            buoyInfoAccessor.NextDataItem();
            Assert.AreEqual("?", buoyInfoAccessor.WindDirection());
        }