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]); }
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]); }