예제 #1
0
        public void Clone_WhenCalled_AllMembersAreCloned()
        {
            var descriptor = new DummyDescriptor();

            descriptor.Orientation = SeriesOrientation.Row;

            descriptor.ValuesLocator = new AbsolutePositionLocator {
                HeaderSeriesPosition = 0, SeriesPosition = 4
            };
            descriptor.ValueFormat = new FormatColumn("value", typeof(double), "0.00");

            descriptor.TimesLocator = new AbsolutePositionLocator {
                HeaderSeriesPosition = 0, SeriesPosition = 23
            };
            descriptor.TimeFormat = new FormatColumn("time", typeof(DateTime), "G");

            descriptor.Excludes.AddRange(11, 88);

            var clone = FigureDescriptorFactory.Clone(descriptor);

            Assert.That(clone.Orientation, Is.EqualTo(descriptor.Orientation));

            Assert.That(((AbsolutePositionLocator)clone.ValuesLocator).SeriesPosition, Is.EqualTo(4));
            Assert.That(clone.ValueFormat.Name, Is.EqualTo(descriptor.ValueFormat.Name));
            Assert.That(clone.ValueFormat.Type, Is.EqualTo(descriptor.ValueFormat.Type));
            Assert.That(clone.ValueFormat.Format, Is.EqualTo(descriptor.ValueFormat.Format));

            Assert.That(((AbsolutePositionLocator)clone.TimesLocator).SeriesPosition, Is.EqualTo(23));
            Assert.That(clone.TimeFormat.Name, Is.EqualTo(descriptor.TimeFormat.Name));
            Assert.That(clone.TimeFormat.Type, Is.EqualTo(descriptor.TimeFormat.Type));
            Assert.That(clone.TimeFormat.Format, Is.EqualTo(descriptor.TimeFormat.Format));

            Assert.That(clone.Excludes, Is.EquivalentTo(descriptor.Excludes));
        }
예제 #2
0
        public void Excludes_Add_ValueAdded()
        {
            var descriptor = new DummyDescriptor();

            descriptor.Excludes.Add(11);

            Assert.That(descriptor.Excludes, Contains.Item(11));
        }
예제 #3
0
        public void ValueFormat_Set_ValueIsSet()
        {
            var descriptor = new DummyDescriptor();

            descriptor.ValueFormat = new FormatColumn("c1", typeof(double), "0.00");

            Assert.That(descriptor.ValueFormat.Format, Is.EqualTo("0.00"));
        }
예제 #4
0
        public void SkipColumns_Add_ValueAdded()
        {
            var descriptor = new DummyDescriptor();

            descriptor.SkipColumns.Add(11);

            Assert.That(descriptor.SkipColumns, Contains.Item(11));
        }
예제 #5
0
        public void Columns_Add_ValueAdded()
        {
            var descriptor = new DummyDescriptor();

            descriptor.Columns.Add(new FormatColumn("c1", typeof(double), "0.00"));

            Assert.That(descriptor.Columns[0].Format, Is.EqualTo("0.00"));
        }
예제 #6
0
        public void Orientation_Set_ValueIsSet()
        {
            var descriptor = new DummyDescriptor();

            descriptor.Orientation = SeriesOrientation.Column;

            Assert.That(descriptor.Orientation, Is.EqualTo(SeriesOrientation.Column));
        }
예제 #7
0
        public void Orientation_Set_ChangeIsNotified()
        {
            var descriptor = new DummyDescriptor();
            var counter    = new PropertyChangedCounter(descriptor);

            descriptor.Orientation = SeriesOrientation.Column;

            Assert.That(counter.GetCount(nameof(descriptor.Orientation)), Is.EqualTo(1));
        }
예제 #8
0
        public void Excludes_Add_ChangeIsNotified()
        {
            var descriptor = new DummyDescriptor();
            var counter    = new CollectionChangedCounter(descriptor.Excludes);

            descriptor.Excludes.Add(11);

            Assert.That(counter.Count, Is.EqualTo(1));
        }
예제 #9
0
        public void Columns_Add_ChangeIsNotified()
        {
            var descriptor = new DummyDescriptor();
            var counter    = new CollectionChangedCounter(descriptor.Columns);

            descriptor.Columns.Add(new FormatColumn("c1", typeof(double), "0.00"));

            Assert.That(counter.Count, Is.EqualTo(1));
        }
예제 #10
0
        public void ValueFormat_Set_ChangeIsNotified()
        {
            var descriptor = new DummyDescriptor();
            var counter    = new PropertyChangedCounter(descriptor);

            descriptor.ValueFormat = new FormatColumn("c1", typeof(double), "0.00");

            Assert.That(counter.GetCount(nameof(descriptor.ValueFormat)), Is.EqualTo(1));
        }
예제 #11
0
        public void Validate_IsValid_DoesNotThrows()
        {
            var descriptor = new DummyDescriptor(
                new FormatColumn("c1", typeof(double), "0.00"),
                new FormatColumn("c2", typeof(string), ""));

            descriptor.Figure = "Test";

            RecursiveValidator.Validate(descriptor);
        }
예제 #12
0
        public void Validate_MissingCollumns_Throws()
        {
            var descriptor = new DummyDescriptor();

            descriptor.Figure = "Test";

            var ex = Assert.Throws <ValidationException>(() => RecursiveValidator.Validate(descriptor));

            Assert.That(ex.Message, Does.Contain("Columns must not be empty"));
        }
예제 #13
0
        public void TimesLocator_Set_TimeIsSet()
        {
            var descriptor = new DummyDescriptor();

            descriptor.TimesLocator = new AbsolutePositionLocator {
                HeaderSeriesPosition = 7, SeriesPosition = 4
            };

            Assert.That(descriptor.TimesLocator.HeaderSeriesPosition, Is.EqualTo(7));
        }
예제 #14
0
        public void ValuesLocator_Set_ChangeIsNotified()
        {
            var descriptor = new DummyDescriptor();
            var counter    = new PropertyChangedCounter(descriptor);

            descriptor.ValuesLocator = new AbsolutePositionLocator {
                HeaderSeriesPosition = 0, SeriesPosition = 4
            };

            Assert.That(counter.GetCount(nameof(descriptor.ValuesLocator)), Is.EqualTo(1));
        }
예제 #15
0
        public void Validate_InvalidColumn_Throws()
        {
            var descriptor = new DummyDescriptor();

            descriptor.Figure = "Equity";
            descriptor.Columns.Add(new FormatColumn());

            var ex = Assert.Throws <ValidationException>(() => RecursiveValidator.Validate(descriptor));

            Assert.That(ex.Message, Does.Contain("Type field is required"));
        }
예제 #16
0
        public void Clone_WhenCalled_CollectionsAreMutableAndObservable()
        {
            var descriptor = new DummyDescriptor();

            var clone = FigureDescriptorFactory.Clone(descriptor);

            var counter = new CollectionChangedCounter(clone.Excludes);

            clone.Excludes.Add(1);

            Assert.That(counter.Count, Is.EqualTo(1));
        }
예제 #17
0
        public void Validate_InvalidTimesLocator_Throws()
        {
            var descriptor = new DummyDescriptor();

            descriptor.Figure       = "Equity";
            descriptor.TimesLocator = new AbsolutePositionLocator();
            descriptor.TimeFormat   = new FormatColumn("Times", typeof(double), "0.00");

            var ex = Assert.Throws <ValidationException>(() => RecursiveValidator.Validate(descriptor));

            Assert.That(ex.Message, Does.Contain("HeaderSeriesPosition must be between 0 and " + int.MaxValue));
        }
예제 #18
0
        public void Validate_IsValid_DoesNotThrows()
        {
            var descriptor = new DummyDescriptor();

            descriptor.Figure        = "Equity";
            descriptor.ValuesLocator = new AbsolutePositionLocator {
                HeaderSeriesPosition = 0, SeriesPosition = 4
            };
            descriptor.ValueFormat = new FormatColumn("values", typeof(double), "0.00");

            RecursiveValidator.Validate(descriptor);
        }
예제 #19
0
        public void Validate_InvalidTimeFormat_Throws()
        {
            var descriptor = new DummyDescriptor();

            descriptor.Figure       = "Equity";
            descriptor.TimesLocator = new AbsolutePositionLocator {
                HeaderSeriesPosition = 0, SeriesPosition = 23
            };
            descriptor.TimeFormat = new FormatColumn();

            var ex = Assert.Throws <ValidationException>(() => RecursiveValidator.Validate(descriptor));

            Assert.That(ex.Message, Does.Contain("Type field is required"));
        }
예제 #20
0
        public void Clone_WhenCalled_AllMembersAreCloned()
        {
            var descriptor = new DummyDescriptor(
                new FormatColumn("c1", typeof(double), "0.00"),
                new FormatColumn("c2", typeof(string), ""));

            descriptor.SkipRows.AddRange(5, 9);
            descriptor.SkipColumns.AddRange(11, 88);

            var clone = FigureDescriptorFactory.Clone(descriptor);

            Assert.That(clone.Columns[0].Name, Is.EqualTo("c1"));
            Assert.That(clone.Columns[0].Type, Is.EqualTo(typeof(double)));
            Assert.That(clone.Columns[0].Format, Is.EqualTo("0.00"));

            Assert.That(clone.Columns[1].Name, Is.EqualTo("c2"));
            Assert.That(clone.Columns[1].Type, Is.EqualTo(typeof(string)));
            Assert.That(clone.Columns[1].Format, Is.EqualTo(""));

            Assert.That(clone.SkipRows, Is.EquivalentTo(descriptor.SkipRows));
            Assert.That(clone.SkipColumns, Is.EquivalentTo(descriptor.SkipColumns));
        }
예제 #21
0
 public bool Equals(DummyDescriptor other)
 {
     return(true);
 }