ardupilot/Configurator/Configurator.Net/Test/AltitudeHoldVmTest.cs
mandrolic b9e2dcd124 Configurator.Net: Added more Vm tests
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1227 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-22 10:04:16 +00:00

53 lines
1.4 KiB
C#

using ArducopterConfigurator.PresentationModels;
using NUnit.Framework;
namespace ArducopterConfiguratorTest
{
[TestFixture]
public class AltitudeHoldVmTest : VmTestBase<AltitudeHoldConfigVm>
{
[SetUp]
public void Setup()
{
sampleLineOfData = "0.800,0.200,0.300";
getCommand = "F";
setCommand = "E";
_fakeComms = new FakeComms();
_vm = new AltitudeHoldConfigVm(_fakeComms);
}
[Test]
// For whatever reason, for Altitude the properties are sent in P, D ,I
// order, but received in P,I,D order
public void UpdateStringSentIsCorrect()
{
_vm.P = 1.0F;
_vm.I = 2.0F;
_vm.D = 3.0F;
_vm.UpdateCommand.Execute(null);
Assert.AreEqual(1, _fakeComms.SentItems.Count);
Assert.AreEqual("E1;3;2", _fakeComms.SentItems[0]);
}
[Test]
// For whatever reason, for Altitude the properties are sent in P, D ,I
// order, but received in P,I,D order
public void UpdateStringReceivedPopulatesValuesCorrectly()
{
_vm.Activate();
_fakeComms.FireLineRecieve(sampleLineOfData);
Assert.AreEqual(0.8f, _vm.P);
Assert.AreEqual(0.2f, _vm.I);
Assert.AreEqual(0.3f, _vm.D);
}
}
}