Exemple #1
0
        public void Method_Autorun_InvokeOnChange()
        {
            // Arrange
            IStoreAccessor <ClassStoreWithAction> storeAccessor = serviceProvider.GetRequiredService <IStoreAccessor <ClassStoreWithAction> >();
            var consumer = new FakeBlazorComponent();

            storeAccessor.SetConsumer(consumer);
            var store = storeAccessor.Store;
            int invokeCount = 0, actualInvokeCount = 0;

            storeAccessor.Autorun(store =>
            {
                _ = store.Value;
                actualInvokeCount++;
            });

            // Act
            Assert.AreEqual(invokeCount, actualInvokeCount);

            // Always invokes on first change
            store.Value = 65; invokeCount++;
            // Real invoke
            store.Value = 65; invokeCount++;

            // Assert
            Assert.AreEqual(invokeCount, actualInvokeCount);
        }
Exemple #2
0
        public void Method_Autorun_BehavePromiscous()
        {
            // Arrange
            IStoreAccessor <ClassStoreWithAction> storeAccessor = serviceProvider.GetRequiredService <IStoreAccessor <ClassStoreWithAction> >();
            var consumer = new FakeBlazorComponent();

            storeAccessor.SetConsumer(consumer);
            var store = storeAccessor.Store;
            int invokeCount = 0, actualInvokeCount = 0;

            storeAccessor.Autorun(store =>
            {
                _ = store.Value;
                actualInvokeCount++;
            });

            // Act
            Assert.AreEqual(invokeCount, actualInvokeCount);
            store.AnotherValue = 65; invokeCount++;
            store.AnotherValue = 50;

            // Assert
            Assert.AreEqual(invokeCount, actualInvokeCount);
        }