コード例 #1
0
        public void OnPowerOffPerformsAction()
        {
            //arrange
            var fs = Substitute.For <IFileSystem>();

            fs.Read("/sys/class/gpio/gpio123/direction").Returns("in");
            fs.When(f => f.Watch(Arg.Any <string>(), Arg.Any <Func <bool> >(), Arg.Any <Action>())).Do(c =>
            {
                if (c.Arg <Func <bool> >().Invoke())
                {
                    c.Arg <Action>().Invoke();
                }
            });
            var pinInterface = new LinuxPinInterface(123, fs)
            {
                Power = PowerValue.Off
            };
            var called = false;

            //act
            pinInterface.OnPowerOff(() => called = true);

            //assert
            Assert.True(called);
        }
コード例 #2
0
        public void OnPowerOffEnablesIfNotEnabled()
        {
            //arrange
            var fs = Substitute.For <IFileSystem>();

            fs.Read("/sys/class/gpio/gpio123/direction").Returns("in");
            var pinInterface = new LinuxPinInterface(123, fs);

            //act
            pinInterface.OnPowerOff(null);

            //assert
            fs.Received().Write("/sys/class/gpio/export", "123");
        }