示例#1
0
        public void Remove()
        {
            var defaultValue = new DummyValue(-1);
            var state        = new VariableState <DummyValue>(defaultValue);

            var value1 = new DummyValue(1);
            var value2 = new DummyValue(2);
            var value3 = new DummyValue(2);

            state[_variables[0]] = value1;
            state[_variables[1]] = value2;
            state[_variables[2]] = value3;

            bool result = state.Remove(_variables[0]);

            Assert.True(result);

            result = state.Remove(_variables[2]);
            Assert.True(result);

            result = state.Remove(_variables[4]);
            Assert.False(result);

            Assert.Equal(defaultValue, state[_variables[0]]);
            Assert.Equal(value2, state[_variables[1]]);
            Assert.Equal(defaultValue, state[_variables[2]]);
            Assert.Equal(defaultValue, state[_variables[3]]);
            Assert.Equal(defaultValue, state[_variables[4]]);
        }
示例#2
0
        public void Pop()
        {
            var stack = new StackState <DummyValue>();
            var value = new DummyValue();

            stack.Push(value);
            Assert.Equal(value, stack.Pop());
        }
示例#3
0
        public void Push()
        {
            var stack = new StackState <DummyValue>();
            var value = new DummyValue();

            stack.Push(value);
            Assert.Equal(1, stack.Size);
            Assert.Equal(value, stack.Top);
            Assert.Single(stack.GetAllStackSlots());
        }
示例#4
0
        private static IList <DummyValue> CreateDummyValues(int count)
        {
            var result = new DummyValue[count];

            for (int i = 0; i < count; i++)
            {
                result[i] = new DummyValue(i);
            }
            return(result);
        }
示例#5
0
        public void Default()
        {
            var defaultValue = new DummyValue(-1);
            var state        = new VariableState <DummyValue>(defaultValue);

            foreach (var variable in _variables)
            {
                Assert.Equal(defaultValue, state[variable]);
            }
        }
示例#6
0
        public void Generic_Ok_Result_With_Value()
        {
            var value  = new DummyValue();
            var result = Result.Ok <DummyValue>(value);

            Assert.True(result.IsSuccess);
            Assert.False(result.IsFailure);
            Assert.Null(result.Error);
            Assert.Same(result.Value, value);
        }
示例#7
0
        public void Set()
        {
            var defaultValue = new DummyValue(-1);
            var state        = new VariableState <DummyValue>(defaultValue);

            var value1 = new DummyValue(1);
            var value2 = new DummyValue(2);

            state[_variables[0]] = value1;
            state[_variables[2]] = value2;

            Assert.Equal(value1, state[_variables[0]]);
            Assert.Equal(defaultValue, state[_variables[1]]);
            Assert.Equal(value2, state[_variables[2]]);
            Assert.Equal(defaultValue, state[_variables[3]]);
            Assert.Equal(defaultValue, state[_variables[4]]);
        }
示例#8
0
		public void InitializeValue()
		{
			var instance1 = new DummyValue();
			var instance2 = default(DummyValue);
			var instance3 = new DummyValue { Value = 2, SubValue = new SubDummyValue { Value = "Boba" } };
			var reference = new DummyValue { Value = 3, SubValue = new SubDummyValue { Value = "Fett" } };

			Initializer<DummyValue>.Default.Initialize(ref instance1, reference);
			Initializer<DummyValue>.Default.Initialize(ref instance2, reference);
			Initializer<DummyValue>.Default.Initialize(ref instance3, reference);

			Assert.That(instance1, Is.EqualTo(reference));
			Assert.That(instance1.Value, Is.EqualTo(reference.Value));
			Assert.That(instance1.SubValue, Is.EqualTo(reference.SubValue));
			Assert.That(instance2, Is.EqualTo(reference));
			Assert.That(instance3, Is.EqualTo(reference));
			Assert.That(instance3.Value, Is.EqualTo(reference.Value));
			Assert.That(instance3.SubValue.Value, Is.EqualTo(reference.SubValue.Value));
		}
        public void InitializeValue()
        {
            var instance1 = new DummyValue();
            var instance2 = default(DummyValue);
            var instance3 = new DummyValue { Value = 2, SubValue = new SubDummyValue { Value = "Boba" } };
            var reference = new DummyValue { Value = 3, SubValue = new SubDummyValue { Value = "Fett" } };

            Initializer<DummyValue>.Default.Initialize(ref instance1, reference);
            Initializer<DummyValue>.Default.Initialize(ref instance2, reference);
            Initializer<DummyValue>.Default.Initialize(ref instance3, reference);

            Assert.That(instance1, Is.EqualTo(reference));
            Assert.That(instance1.Value, Is.EqualTo(reference.Value));
            Assert.That(instance1.SubValue, Is.EqualTo(reference.SubValue));
            Assert.That(instance2, Is.EqualTo(reference));
            Assert.That(instance3, Is.EqualTo(reference));
            Assert.That(instance3.Value, Is.EqualTo(reference.Value));
            Assert.That(instance3.SubValue.Value, Is.EqualTo(reference.SubValue.Value));
        }