public async Task TestSetting2DesiredPropertyAndCheckReported1()
        {
            var harness    = new ModuleHostHarness();
            var controller = new TestController1();
            await harness.RunTestAsync(controller.YieldReturn(),
                                       async (deviceId, moduleId, services) => {
                // Act
                var hub = services.Resolve <IIoTHubTwinServices>();
                await hub.UpdatePropertyAsync(deviceId, moduleId,
                                              nameof(TestController1.TestSetting1), "test");
                await hub.UpdatePropertyAsync(deviceId, moduleId,
                                              nameof(TestController1.TestSetting2), "test2");
                var twin = await hub.GetAsync(deviceId, moduleId);

                // Assert
                Assert.True(controller._applyCalled);
                Assert.Equal("test", controller.TestSetting1);
                Assert.Equal("test2", controller.TestSetting2);
                Assert.Equal("test", twin.Properties.Reported[nameof(TestController1.TestSetting1)]);
                Assert.Equal("test2", twin.Properties.Reported[nameof(TestController1.TestSetting2)]);
                Assert.True((bool)twin.Properties.Reported[TwinProperty.kConnected]);
            });
        }
예제 #2
0
        public async Task TestSettingDesiredPropertyToNullAndCheckReported1()
        {
            var harness    = new ModuleHostHarness();
            var controller = new TestController1();
            await harness.RunTestAsync(controller.YieldReturn(),
                                       async (deviceId, moduleId, services) => {
                var hub  = services.Resolve <IIoTHubTwinServices>();
                var twin = await hub.GetAsync(deviceId, moduleId);

                // TODO : Assert precondition
                // Assert.True(twin.Properties.Reported.TryGetValue(nameof(TestController1.TestSetting3), out var pre));

                // Act
                await hub.UpdatePropertyAsync(deviceId, moduleId,
                                              nameof(TestController1.TestSetting3), null);
                twin = await hub.GetAsync(deviceId, moduleId);

                // Assert
                Assert.True(controller._applyCalled);
                Assert.Null(controller.TestSetting3);
                Assert.False(twin.Properties.Reported.TryGetValue(nameof(TestController1.TestSetting3), out var post));
                Assert.Null(post);
            });
        }