コード例 #1
0
ファイル: DHelperTests.cs プロジェクト: otac0n/Whisk
        public void Value_WhenGivenANullDependency_ThrowsArgumentNullException()
        {
            MutableDependency <int> dependency = default;

            var exception = Assert.Throws <ArgumentNullException>(() => D.Value(dependency, default));

            Assert.Equal(nameof(dependency), exception.ParamName);
        }
コード例 #2
0
ファイル: DHelperTests.cs プロジェクト: otac0n/Whisk
        public void Set_WhenGivenADistinctValue_RaisesTheSweepInvalidatedEventOnce(int value)
        {
            var d      = new MutableDependency <int>(value);
            var raised = 0;

            d.SweepInvalidated += (sender, args) => Interlocked.Increment(ref raised);

            D.Set(D.Value(d, unchecked (value + 1)));

            Assert.Equal(1, raised);
        }
コード例 #3
0
ファイル: DHelperTests.cs プロジェクト: otac0n/Whisk
        public void Set_WhenGivenAnEqualValue_DoesNotRaiseTheMarkInvalidatedEvent()
        {
            var d      = new MutableDependency <string>("OK", StringComparer.OrdinalIgnoreCase);
            var raised = 0;

            d.MarkInvalidated += (sender, args) => Interlocked.Increment(ref raised);

            D.Set(D.Value(d, "ok"));

            Assert.Equal(0, raised);
            Assert.Equal("OK", d.Value);
        }
コード例 #4
0
ファイル: DHelperTests.cs プロジェクト: otac0n/Whisk
        public void Set_WhenGivenADistinctValue_RaisesMarkBeforeSweep(int value)
        {
            var d      = new MutableDependency <int>(value);
            var order  = 1;
            var marked = 0;
            var swept  = 0;

            d.MarkInvalidated  += (sender, args) => marked = order++;
            d.SweepInvalidated += (sender, args) => swept = order++;

            D.Set(D.Value(d, unchecked (value + 1)));

            Assert.True(swept > marked);
        }
コード例 #5
0
        public void ctor_WhenGivenDefaults_ReturnsAMutableDependencyWithThisDefaultValue()
        {
            var d = new MutableDependency <int>();

            Assert.Equal(default, d.Value);
コード例 #6
0
        public void ctor_WhenGivenASpecificValue_ReturnsAMutableDependencyWithTheSpecifiedValue(int value)
        {
            var d = new MutableDependency <int>(value);

            Assert.Equal(value, d.Value);
        }