Пример #1
0
        public void ColumnRoles_EmptySerializes()
        {
            var c1 = Any.ColumnConfiguration();
            var c2 = Any.ColumnConfiguration();
            var c3 = Any.ColumnConfiguration();
            var c4 = Any.ColumnConfiguration();
            var c5 = Any.ColumnConfiguration();

            var config = new TableConfiguration("test")
            {
                Columns = new[] { c1, c2, c3, c4, c5, },
            };

            using (var stream = new MemoryStream())
            {
                TableConfigurationsSerializer.SerializeTableConfiguration(stream, config, this.TableGuid);
                stream.Seek(0, SeekOrigin.Begin);
                var roundTripped = this.Sut.DeserializeTableConfigurations(stream).ToList();

                Assert.AreEqual(1, roundTripped.Count);

                Assert.IsNotNull(roundTripped[0].Configurations);
                var configurations = roundTripped[0].Configurations.ToList();
                Assert.AreEqual(1, configurations.Count);

                var roundTrippedConfig = configurations[0];
                Assert.IsNotNull(roundTrippedConfig);

                Assert.AreEqual(0, roundTrippedConfig.ColumnRoles.Count);
            }
        }
        public void AddColumnRole_DifferentRoleSameColumnThrows()
        {
            var r1 = ColumnRole.Duration;
            var r2 = ColumnRole.EndThreadId;
            var c  = Any.ColumnConfiguration();

            this.Sut.Columns = new[] { c, };

            this.Sut.AddColumnRole(r1, c.Metadata.Guid);

            Assert.ThrowsException <InvalidOperationException>(() => this.Sut.AddColumnRole(r2, c.Metadata.Guid));
        }
        public void AddColumnRole_Adds()
        {
            var r = ColumnRole.Duration;
            var c = Any.ColumnConfiguration();

            this.Sut.Columns = new[] { c, };

            this.Sut.AddColumnRole(r, c.Metadata.Guid);

            Assert.AreEqual(1, this.Sut.ColumnRoles.Count);
            Assert.AreEqual(c.Metadata.Guid, this.Sut.ColumnRoles[r]);
        }
        public void AddColumnRole_InvalidRoleThrows()
        {
            var c = Any.ColumnConfiguration();

            this.Sut.Columns = new[] { c, };

            Assert.ThrowsException <InvalidEnumArgumentException>(
                () => this.Sut.AddColumnRole(ColumnRole.CountColumnMetadata, c.Metadata.Guid));
            Assert.ThrowsException <InvalidEnumArgumentException>(
                () => this.Sut.AddColumnRole(
                    (ColumnRole)((int)ColumnRole.CountColumnMetadata + 1), c.Metadata.Guid));
        }
        public void RemoveColumnRole_PresentIsRemoved()
        {
            var c = Any.ColumnConfiguration();

            this.Sut.Columns = new[] { c, };

            var r = ColumnRole.Duration;

            this.Sut.AddColumnRole(r, c.Metadata.Guid);

            Assert.AreEqual(c.Metadata.Guid, this.Sut.ColumnRoles[r]);

            this.Sut.RemoveColumnRole(r);
            Assert.AreEqual(0, this.Sut.ColumnRoles.Count);
        }
        public void AddColumnRole_SameRoleOverwrites()
        {
            var r  = ColumnRole.Duration;
            var c1 = Any.ColumnConfiguration();
            var c2 = Any.ColumnConfiguration();

            this.Sut.Columns = new[] { c1, c2, };

            this.Sut.AddColumnRole(r, c1.Metadata.Guid);
            Assert.AreEqual(1, this.Sut.ColumnRoles.Count);
            Assert.AreEqual(c1.Metadata.Guid, this.Sut.ColumnRoles[r]);

            this.Sut.AddColumnRole(r, c2.Metadata.Guid);
            Assert.AreEqual(1, this.Sut.ColumnRoles.Count);
            Assert.AreEqual(c2.Metadata.Guid, this.Sut.ColumnRoles[r]);
        }
Пример #7
0
        public void ColumnRoles_ValidValuesSerialize()
        {
            var config = new TableConfiguration("test");

            var roles = Enum.GetValues(typeof(ColumnRole))
                        .Cast <ColumnRole>()
                        .Where(x => x.IsValidColumnRole())
                        .ToList();
            var columns = Enumerable.Range(0, roles.Count).Select(_ => Any.ColumnConfiguration()).ToList();

            config.Columns = columns;

            for (var i = 0; i < roles.Count; ++i)
            {
                var role   = roles[i];
                var column = columns[i];
                config.AddColumnRole(role, column.Metadata.Guid);
            }

            using (var stream = new MemoryStream())
            {
                TableConfigurationsSerializer.SerializeTableConfiguration(stream, config, this.TableGuid);
                stream.Seek(0, SeekOrigin.Begin);
                var roundTripped = this.Sut.DeserializeTableConfigurations(stream).ToList();

                Assert.AreEqual(1, roundTripped.Count);

                Assert.IsNotNull(roundTripped[0].Configurations);
                var configurations = roundTripped[0].Configurations.ToList();
                Assert.AreEqual(1, configurations.Count);

                var roundTrippedConfig = configurations[0];
                Assert.IsNotNull(roundTrippedConfig);

                Assert.AreEqual(config.ColumnRoles.Count, roundTrippedConfig.ColumnRoles.Count);
                foreach (var kvp in config.ColumnRoles)
                {
                    Assert.IsTrue(roundTrippedConfig.ColumnRoles.ContainsKey(kvp.Key));
                    Assert.AreEqual(
                        kvp.Value,
                        roundTrippedConfig.ColumnRoles[kvp.Key]);
                }
            }
        }
        public void RemoveColumnRole_PresentIsRemovedOthersAreLeft()
        {
            var c1 = Any.ColumnConfiguration();
            var c2 = Any.ColumnConfiguration();

            this.Sut.Columns = new[] { c1, c2, };

            var r1 = ColumnRole.Duration;
            var r2 = ColumnRole.EndThreadId;

            this.Sut.AddColumnRole(r1, c1.Metadata.Guid);
            this.Sut.AddColumnRole(r2, c2.Metadata.Guid);

            Assert.AreEqual(c1.Metadata.Guid, this.Sut.ColumnRoles[r1]);
            Assert.AreEqual(c2.Metadata.Guid, this.Sut.ColumnRoles[r2]);

            this.Sut.RemoveColumnRole(r1);
            Assert.AreEqual(1, this.Sut.ColumnRoles.Count);
            Assert.AreEqual(c2.Metadata.Guid, this.Sut.ColumnRoles[r2]);
        }
        public void RemoveColumnRole_InvalidDoesNothing()
        {
            var c1 = Any.ColumnConfiguration();
            var c2 = Any.ColumnConfiguration();

            this.Sut.Columns = new[] { c1, c2, };

            var r1 = ColumnRole.Duration;
            var r2 = ColumnRole.CountColumnMetadata;

            this.Sut.AddColumnRole(r1, c1.Metadata.Guid);

            Assert.AreEqual(1, this.Sut.ColumnRoles.Count);
            Assert.AreEqual(c1.Metadata.Guid, this.Sut.ColumnRoles[r1]);
            Assert.IsFalse(this.Sut.ColumnRoles.ContainsKey(r2));

            this.Sut.RemoveColumnRole(r2);
            Assert.AreEqual(1, this.Sut.ColumnRoles.Count);
            Assert.AreEqual(c1.Metadata.Guid, this.Sut.ColumnRoles[r1]);
        }