Beispiel #1
0
        public void GettingAbsentValue()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(5, 5));
            timeSeriesData.Add(new AnnualDecimal(20, 20));
            Assert.That(timeSeriesData.GetYear(10), Is.Null);
        }
Beispiel #2
0
        public void RewritingTheSameYearOnAnSingleElementList()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(10, 100));
            timeSeriesData.Add(new AnnualDecimal(10, 200));
            Assert.That(timeSeriesData.Count, Is.EqualTo(1));
            Assert.That(timeSeriesData.GetYear(10).Value, Is.EqualTo(200));
        }
Beispiel #3
0
        public void HasNonNullValues()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(10, 0));
            timeSeriesData.Add(new AnnualDecimal(20, null));
            Assert.That(timeSeriesData.HasNonNullValues(), Is.True);
            Assert.That(timeSeriesData.HasNonZeroValues(), Is.False);
        }
Beispiel #4
0
        public void RewritingTheSameYearOnPopulatedList()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(1, 100));
            timeSeriesData.Add(new AnnualDecimal(2, 100));
            timeSeriesData.Add(new AnnualDecimal(10, 100));
            timeSeriesData.Add(new AnnualDecimal(10, 200));
            Assert.That(timeSeriesData.Count, Is.EqualTo(3));
            Assert.That(timeSeriesData.GetYear(10).Value, Is.EqualTo(200));
        }
Beispiel #5
0
        public void HasZeroValues()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(10, 0));
            timeSeriesData.Add(new AnnualDecimal(20, 0));
            Assert.That(timeSeriesData.HasNonNullValues(), Is.True);
            Assert.That(timeSeriesData.HasNonZeroValues(), Is.False);
            Assert.That(timeSeriesData.StartYear(), Is.EqualTo(10));
            Assert.That(timeSeriesData.EndYear(), Is.EqualTo(20));
        }
Beispiel #6
0
        public void StartAndEndYearShouldFailWhenTimeSeriesIsAllZero()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(10, 0));
            timeSeriesData.Add(new AnnualDecimal(20, 0));
            Assert.That(timeSeriesData.IsNotEmpty(), Is.True);
            Assert.That(timeSeriesData.StartYear(), Is.EqualTo(10));
            Assert.That(timeSeriesData.EndYear(), Is.EqualTo(20));
            Assert.Throws <InvalidOperationException>(() => timeSeriesData.StartYearOfNonZeroValue());
            Assert.Throws <InvalidOperationException>(() => timeSeriesData.EndYearOfNonZeroValue());
        }
Beispiel #7
0
        public void CanSerializeAndDeserialize()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(10, 100));
            timeSeriesData.Add(new AnnualDecimal(20, 200));
            Assert.That(timeSeriesData.Count, Is.EqualTo(2));
            var json = JsonConvert.SerializeObject(timeSeriesData);

            Assert.That(json, Is.Not.Null);
            Debug.WriteLine(json);
            var deserialized = JsonConvert.DeserializeObject <TimeSeriesData <AnnualDecimal> >(json);

            Assert.That(deserialized, Is.Not.Null);
            Assert.That(deserialized.Count, Is.EqualTo(2));
        }
Beispiel #8
0
        public void SettingAndGettingData()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(10, 100));
            Assert.That(timeSeriesData.Count, Is.EqualTo(1));
            Assert.That(timeSeriesData.GetYear(10).Value, Is.EqualTo(100));
        }
Beispiel #9
0
        public void CanSerializeAndDeserializeTimeSeriesDataWithSomeZeroAndNullValues()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(10, 100));
            timeSeriesData.Add(new AnnualDecimal(20, 0));
            timeSeriesData.Add(new AnnualDecimal(30, null));
            var json = JsonConvert.SerializeObject(timeSeriesData);

            Assert.That(json, Is.Not.Null);
            Assert.That(json, Is.EqualTo("[{\"Year\":10,\"Value\":100.0},{\"Year\":20,\"Value\":0.0},{\"Year\":30,\"Value\":null}]"));
            var deserialized = JsonConvert.DeserializeObject <TimeSeriesData <AnnualDecimal> >(json);

            Assert.That(deserialized, Is.Not.Null);
            Assert.That(deserialized.Count, Is.EqualTo(3));
            Assert.That(timeSeriesData, Is.EqualTo(deserialized));
        }
Beispiel #10
0
        public void DataIsSortedAfterAddingOneByOne()
        {
            var timeSeriesData = new TimeSeriesData <AnnualDecimal>();

            timeSeriesData.Add(new AnnualDecimal(30, 3));
            timeSeriesData.Add(new AnnualDecimal(10, 1));
            timeSeriesData.Add(new AnnualDecimal(40, 4));
            timeSeriesData.Add(new AnnualDecimal(20, 2));

            var enumerator = timeSeriesData.GetEnumerator();

            enumerator.Reset();
            enumerator.MoveNext();
            Assert.That(enumerator.Current, Is.EqualTo(new AnnualDecimal(10, 1)));
            enumerator.MoveNext();
            Assert.That(enumerator.Current, Is.EqualTo(new AnnualDecimal(20, 2)));
            enumerator.MoveNext();
            Assert.That(enumerator.Current, Is.EqualTo(new AnnualDecimal(30, 3)));
            enumerator.MoveNext();
            Assert.That(enumerator.Current, Is.EqualTo(new AnnualDecimal(40, 4)));
        }