Beispiel #1
0
        private void SetValue_TwoChanges <TValue>(
            TValue defaultValue,
            TValue value1,
            long valueChangeTime1,
            TValue value2,
            long valueChangeTime2,
            IEnumerable <ValueChange <TValue> > expectedValueChanges,
            TValue expectedValueAtStart,
            TValue expectedValueBeforeFirstChange,
            TValue expectedValueAtFirstChange,
            TValue expectedValueAfterFirstChange,
            TValue expectedValueBeforeSecondChange,
            TValue expectedValueAtSecondChange,
            TValue expectedValueAfterSecondChange,
            bool checkValueChangesFirst)
        {
            var valueLine = new ValueLine <TValue>(defaultValue);

            valueLine.SetValue(valueChangeTime1, value1);
            valueLine.SetValue(valueChangeTime2, value2);

            if (checkValueChangesFirst)
            {
                CollectionAssert.AreEqual(expectedValueChanges, valueLine, "Invalid value changes.");
            }

            Assert.AreEqual(expectedValueAtStart, valueLine.GetValueAtTime(0), "Invalid value at start.");
            if (valueChangeTime1 > 0)
            {
                Assert.AreEqual(expectedValueBeforeFirstChange, valueLine.GetValueAtTime(valueChangeTime1 - 1), "Invalid value before first change.");
            }
            Assert.AreEqual(expectedValueAtFirstChange, valueLine.GetValueAtTime(valueChangeTime1), "Invalid value at first change.");
            Assert.AreEqual(expectedValueAfterFirstChange, valueLine.GetValueAtTime(valueChangeTime1 + 1), "Invalid value after first change.");
            if (valueChangeTime2 > 0)
            {
                Assert.AreEqual(expectedValueBeforeSecondChange, valueLine.GetValueAtTime(valueChangeTime2 - 1), "Invalid value before second change.");
            }
            Assert.AreEqual(expectedValueAtSecondChange, valueLine.GetValueAtTime(valueChangeTime2), "Invalid value at second change.");
            Assert.AreEqual(expectedValueAfterSecondChange, valueLine.GetValueAtTime(valueChangeTime2 + 1), "Invalid value after second change.");

            CollectionAssert.AreEqual(expectedValueChanges, valueLine, "Invalid value changes.");
        }
Beispiel #2
0
        public void SetValue_Default_AtStart()
        {
            const string defaultValue = "A";

            var valueLine = new ValueLine <string>(defaultValue);

            valueLine.SetValue(0, defaultValue);

            CollectionAssert.IsEmpty(valueLine, "Value line contains changes.");
            Assert.AreEqual(defaultValue, valueLine.GetValueAtTime(0), "Invalid value at the start.");
            Assert.AreEqual(defaultValue, valueLine.GetValueAtTime(100), "Invalid value at the middle.");
        }
Beispiel #3
0
        public void SetValue_NonDefault_AtStart()
        {
            const string defaultValue    = "A";
            const string nonDefaultValue = "B";

            var valueLine = new ValueLine <string>(defaultValue);

            valueLine.SetValue(0, nonDefaultValue);

            CollectionAssert.AreEqual(new[] { new ValueChange <string>(0, nonDefaultValue) }, valueLine, "Invalid value changes.");
            Assert.AreEqual(nonDefaultValue, valueLine.GetValueAtTime(0), "Invalid value at the start.");
            Assert.AreEqual(nonDefaultValue, valueLine.GetValueAtTime(100), "Invalid value at the middle.");
        }
Beispiel #4
0
        public void SetValue_Default_AtMiddle()
        {
            const string defaultValue    = "A";
            const long   valueChangeTime = 100;

            var valueLine = new ValueLine <string>(defaultValue);

            valueLine.SetValue(valueChangeTime, defaultValue);

            CollectionAssert.IsEmpty(valueLine, "Value line contains changes.");
            Assert.AreEqual(defaultValue, valueLine.GetValueAtTime(0), "Invalid value at the start.");
            Assert.AreEqual(defaultValue, valueLine.GetValueAtTime(valueChangeTime), "Invalid value at the value change time.");
            Assert.AreEqual(defaultValue, valueLine.GetValueAtTime(valueChangeTime + 1), "Invalid value after the value change time.");
        }
Beispiel #5
0
        public void SetValue_NonDefault_AtMiddle()
        {
            const string defaultValue    = "A";
            const string nonDefaultValue = "B";
            const long   valueChangeTime = 100;

            var valueLine = new ValueLine <string>(defaultValue);

            valueLine.SetValue(valueChangeTime, nonDefaultValue);

            CollectionAssert.AreEqual(new[] { new ValueChange <string>(valueChangeTime, nonDefaultValue) }, valueLine, "Invalid value changes.");
            Assert.AreEqual(defaultValue, valueLine.GetValueAtTime(0), "Invalid value at the start.");
            Assert.AreEqual(nonDefaultValue, valueLine.GetValueAtTime(valueChangeTime), "Invalid value at the value change time.");
            Assert.AreEqual(nonDefaultValue, valueLine.GetValueAtTime(valueChangeTime + 1), "Invalid value after the value change time.");
        }
Beispiel #6
0
 public void SetValue(object value, string format = null)
 {
     ValueLine.SetValue(value, format);
 }