Пример #1
0
        public void TryMerge_Should_return_false_When_newValue_and_oldValue_are_different()
        {
            Action <int>   setter = Substitute.For <Action <int> >();
            IMergeableUnDo value  = new ValueUnDo <int>("test", setter, 1, 1);

            Check.That(value.TryMerge(new ValueUnDo <int>("test", setter, 2, 2), out _)).IsFalse();
        }
Пример #2
0
        public void TryMerge_Should_return_false_When_other_is_not_GroupUnDo_with_single_ValueUnDo()
        {
            IMergeableUnDo value = new ValueUnDo <int>("test", _ => { }, 0, 0);
            IUnDo          undo  = Substitute.For <IUnDo>();

            undo.Description.Returns("test");

            Check.That(value.TryMerge(new GroupUnDo("test", undo), out _)).IsFalse();
        }
Пример #3
0
        public void TryMerge_Should_return_false_When_description_are_different()
        {
            IMergeableUnDo value = new ValueUnDo <int>("kikoo", _ => { }, 0, 0);
            IUnDo          undo  = Substitute.For <IUnDo>();

            undo.Description.Returns("lol");

            Check.That(value.TryMerge(undo, out _)).IsFalse();
        }
Пример #4
0
        public void TryMerge_Should_return_false_When_timestamp_are_too_far()
        {
            Action <int>   setter = Substitute.For <Action <int> >();
            IMergeableUnDo value  = new ValueUnDo <int>("test", setter, 1, 0);

            Thread.Sleep(1000);

            Check.That(value.TryMerge(new ValueUnDo <int>("test", setter, 2, 1), out _)).IsFalse();
        }
Пример #5
0
        public void TryMerge_Should_return_true_When_merged_with_GroupUnDo()
        {
            int item = 0;

            void setter(int v) => item = v;

            IMergeableUnDo value = new ValueUnDo <int>("test", setter, 1, 0);

            Check.That(value.TryMerge(new GroupUnDo("test", new ValueUnDo <int>("test", setter, 2, 1)), out IUnDo merged)).IsTrue();
            Check.That(merged.Description).IsEqualTo(value.Description);

            merged.Do();
            Check.That(item).IsEqualTo(2);
            merged.Undo();
            Check.That(item).IsEqualTo(0);
        }
Пример #6
0
        public void TryMerge_Should_return_false_When_setter_are_different()
        {
            IMergeableUnDo value = new ValueUnDo <int>("test", Substitute.For <Action <int> >(), 0, 0);

            Check.That(value.TryMerge(new ValueUnDo <int>("test", Substitute.For <Action <int> >(), 0, 0), out _)).IsFalse();
        }