public void 状態が変化しなかったらタイムアウト()
        {
            var comp = new SimpleComponent("test");

            comp.OnActivated = _ => ReturnCode_t.RTC_ERROR;
            comp.OnReset = _ =>
            {
                Thread.Sleep(TimeSpan.FromSeconds(3));
                return ReturnCode_t.RTC_OK;
            };

            comp.ActivateAsync().Result.Is(ReturnCode_t.RTC_OK);
            AssertEx.Throws<TimeoutException>(() =>
                    comp.ResetAsync(timeout: TimeSpan.FromSeconds(1)).Wait()
                );
        }
        public void コンポーネントのリセット()
        {
            var comp = new SimpleComponent("test");

            comp.OnActivated = _ => ReturnCode_t.RTC_ERROR;

            bool calledReset = false;
            comp.OnReset = _ =>
            {
                calledReset = true;
                return ReturnCode_t.RTC_OK;
            };

            comp.ActivateAsync().Result.Is(ReturnCode_t.RTC_OK);
            comp.ResetAsync().Result.Is(ReturnCode_t.RTC_OK);

            calledReset.Is(true);
        }
 public void 存在しない実行コンテキストを指定したら例外()
 {
     var comp = new SimpleComponent("test");
     AssertEx.Throws<ArgumentOutOfRangeException>(() => comp.ResetAsync(1).Wait());
 }
 public void エラーが起きていないのにResetしたら失敗()
 {
     var comp = new SimpleComponent("test");
     comp.ResetAsync().Result.Is(ReturnCode_t.PRECONDITION_NOT_MET);
 }