using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using CPF; using System.Text; using Microsoft.SPOT; using System.Threading; namespace CPFUnitTests { [TestClass] public class UnitTestIridium { static UnitTestIridium() { } [TestMethod] public void TestIridiumSBDD2() { Init(); int err = 0; while (err == 0) { err = IModem.waitForResponse(IModem.commands.sbdd2); CPF.Program.processStructQ(); Thread.Sleep(100); } if (err < 0) Assert.Fail("Failed to get response from SBDD2 Message"); } [TestMethod] public void TestIridiumCREG() { Init(); int err = 0; while ((err = IModem.waitForResponse(IModem.commands.creg)) == 0) { CPF.Program.processStructQ(); Thread.Sleep(100); } if (err < 0) Assert.Fail(); } [TestMethod] public void TestIridiumCSQ() { Init(); int err = 0; while ((err = IModem.waitForResponse(IModem.commands.csq)) == 0) { CPF.Program.processStructQ(); Thread.Sleep(100); } if (err < 0) Assert.Fail(); } [TestMethod] public void TestIridiumSBDWT() { Init(); //SurfaceOps.buildSBDWTStatusMsg(); IModem.SBDWTMsg = new StringBuilder("UNIT TEST\r"); int err = 0; while ((err = IModem.waitForResponse(IModem.commands.sendSBDWT)) == 0) { CPF.Program.processStructQ(); Thread.Sleep(100); } if (err < 0) Assert.Fail(); while ((err = IModem.waitForResponse(IModem.commands.loadSBDWT)) == 0) { CPF.Program.processStructQ(); Thread.Sleep(100); } if (err < 0) Assert.Fail(); } [TestMethod] public void TestIridiumDialNumber() { Init(); //TODO actually test this } [TestMethod] public void TestIridiumHangup() { int err; Init(); IModem.sendEscapeSequence(); while ((err = IModem.waitForResponse(IModem.commands.ath0)) == 0) { CPF.Program.processStructQ(); Thread.Sleep(100); } if (err < 0) Assert.Fail(); } static bool runonce = false; public void Init() { if (!runonce) { runonce = true; Debug.Print("Initializing Iridium Modem"); IModem.init(); } } } }