public void Dynamic_Mutation() { // arrange var col1 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test2" }; // act dynamic actual = new FluentSuperColumnFamily<AsciiType, AsciiType>("Keyspace1", "Standard1"); actual.Test1 = col1; actual.Test2 = col2; // assert var mutations = ((IFluentRecord)actual).MutationTracker.GetMutations(); Assert.AreEqual(2, mutations.Count()); Assert.AreEqual(2, mutations.Count(x => x.Type == MutationType.Added)); var mut1 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test1"); var mut2 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test2"); Assert.IsNotNull(mut1); Assert.IsNotNull(mut2); Assert.AreSame(actual, mut1.Column.GetParent().ColumnFamily); Assert.AreSame(actual, mut2.Column.GetParent().ColumnFamily); }
public void Dynamic_Mutation() { // arrange var col1 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test2" }; // act dynamic actual = new FluentSuperColumnFamily <AsciiType, AsciiType>("Keyspace1", "Standard1"); actual.Test1 = col1; actual.Test2 = col2; // assert var mutations = ((IFluentRecord)actual).MutationTracker.GetMutations(); Assert.AreEqual(2, mutations.Count()); Assert.AreEqual(2, mutations.Count(x => x.Type == MutationType.Added)); var mut1 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test1"); var mut2 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test2"); Assert.IsNotNull(mut1); Assert.IsNotNull(mut2); Assert.AreSame(actual, mut1.Column.GetParent().ColumnFamily); Assert.AreSame(actual, mut2.Column.GetParent().ColumnFamily); }
public void Dynamic_Mutation() { // arrange var colName = "This is a test name"; var col1 = "Test1"; var colValue1 = 300M; var col2 = "Test2"; var colValue2 = "Hello"; // act dynamic actual = new FluentSuperColumn<AsciiType, AsciiType>(); actual.ColumnName = colName; actual.Test1 = colValue1; actual.Test2 = colValue2; // assert var mutations = ((IFluentRecord)actual).MutationTracker.GetMutations(); Assert.AreEqual(2, mutations.Count()); Assert.AreEqual(2, mutations.Count(x => x.Type == MutationType.Added)); var mut1 = mutations.FirstOrDefault(x => x.Column.ColumnName == col1); var mut2 = mutations.FirstOrDefault(x => x.Column.ColumnName == col2); Assert.IsNotNull(mut1); Assert.IsNotNull(mut2); Assert.AreSame(actual, mut1.Column.GetParent().SuperColumn); Assert.AreSame(actual, mut2.Column.GetParent().SuperColumn); }
public static FluentSuperColumn ConvertSuperColumnToFluentSuperColumn(SuperColumn col, CassandraColumnFamilySchema schema) { var superColSchema = new CassandraColumnSchema { Name = col.Name }; if (schema != null) { superColSchema = new CassandraColumnSchema { NameType = schema.SuperColumnNameType, Name = CassandraObject.GetCassandraObjectFromDatabaseByteArray(col.Name, schema.SuperColumnNameType), ValueType = schema.ColumnNameType } } ; var superCol = new FluentSuperColumn(superColSchema) { ColumnName = CassandraObject.GetCassandraObjectFromDatabaseByteArray(col.Name, superColSchema.NameType) }; ((ILoadable)superCol).BeginLoad(); foreach (var xcol in col.Columns) { superCol.Columns.Add(ConvertColumnToFluentColumn(xcol, schema)); } ((ILoadable)superCol).EndLoad(); return(superCol); }
public void Mutation() { // arrange var col1 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test2" }; // act var actual = new FluentSuperColumnFamily <AsciiType, AsciiType>("Keyspace1", "Standard1"); actual.Columns.Add(col1); actual.Columns.Add(col2); // assert var mutations = actual.MutationTracker.GetMutations(); Assert.AreEqual(2, mutations.Count()); Assert.AreEqual(2, mutations.Count(x => x.Type == MutationType.Added)); var mut1 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test1"); var mut2 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test2"); Assert.AreSame(col1, mut1.Column); Assert.AreSame(col2, mut2.Column); Assert.AreSame(actual, mut1.Column.GetParent().ColumnFamily); Assert.AreSame(actual, mut2.Column.GetParent().ColumnFamily); }
public override FluentSuperColumn <CompareWith, CompareSubcolumnWith> Execute() { var result = new FluentSuperColumn <CompareWith, CompareSubcolumnWith>(GetColumns(ColumnFamily)); ColumnFamily.Context.Attach(result); result.MutationTracker.Clear(); return(result); }
public void Path_Set() { // arrange // act var actual = new FluentSuperColumn<AsciiType, AsciiType>(); // assert Assert.Same(actual, actual.GetPath().SuperColumn); }
public void Path_Set() { // arrange // act var actual = new FluentSuperColumn <AsciiType, AsciiType>(); // assert Assert.AreSame(actual, actual.GetPath().SuperColumn); }
public override IEnumerable <FluentSuperColumnFamily> Execute() { var schema = ColumnFamily.GetSchema(); var parent = new CassandraColumnParent { ColumnFamily = ColumnFamily.FamilyName }; if (SuperColumnName != null) { parent.SuperColumn = SuperColumnName; } SlicePredicate = Helper.SetSchemaForSlicePredicate(SlicePredicate, schema, SuperColumnName == null); var output = Session.GetClient().multiget_slice( Keys, parent, SlicePredicate, Session.ReadConsistency ); foreach (var result in output) { var key = CassandraObject.GetCassandraObjectFromDatabaseByteArray(result.Key, schema.KeyValueType); var superColumns = (IEnumerable <FluentSuperColumn>)null; if (SuperColumnName != null) { var superColSchema = new CassandraColumnSchema { NameType = schema.SuperColumnNameType, Name = SuperColumnName, ValueType = schema.ColumnNameType }; var superCol = new FluentSuperColumn(superColSchema, result.Value.Select(col => Helper.ConvertColumnToFluentColumn(col.Column, schema))); ColumnFamily.Context.Attach(superCol); superColumns = new[] { superCol }; } else { superColumns = result.Value.Select(col => Helper.ConvertSuperColumnToFluentSuperColumn(col.Super_column, schema)); } var familyName = ColumnFamily.FamilyName; var r = new FluentSuperColumnFamily(key, familyName, schema, superColumns); ColumnFamily.Context.Attach(r); yield return(r); } }
public void Implicity_Cast_To_FluentSuperColumn() { // arranage var expectedName = "ShouldNotBeFound"; var expectedColumnCount = 0; dynamic family = new FluentSuperColumnFamily <AsciiType, AsciiType>("Test1", "SubTest1"); // act FluentSuperColumn actual = family.ShouldNotBeFound; // assert Assert.Equal(expectedName, (string)actual.ColumnName); Assert.Equal(expectedColumnCount, actual.Columns.Count); }
public void Get_NonExistent_Column() { // arrange var col1 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test2" }; // act dynamic family = new FluentSuperColumnFamily<AsciiType, AsciiType>("Keyspace1", "Standard1"); family.Test1 = col1; family.Test2 = col2; var actual = family.Test3; // assert Assert.IsInstanceOfType(typeof(IFluentSuperColumn), actual); }
public static FluentSuperColumn <CompareWith, CompareSubcolumnWith> ConvertSuperColumnToFluentSuperColumn <CompareWith, CompareSubcolumnWith>(SuperColumn col) where CompareWith : CassandraType where CompareSubcolumnWith : CassandraType { var superCol = new FluentSuperColumn <CompareWith, CompareSubcolumnWith> { ColumnName = CassandraType.GetType <CompareWith>(col.Name) }; foreach (var xcol in col.Columns) { superCol.Columns.Add(ConvertColumnToFluentColumn <CompareSubcolumnWith>(xcol)); } return(superCol); }
public void Constructor_Test() { // arrange var col1 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test2" }; // act var actual = new FluentSuperColumnFamily<AsciiType, AsciiType>("Keyspace1", "Standard1"); actual.Columns.Add(col1); actual.Columns.Add(col2); // assert Assert.AreEqual(2, actual.Columns.Count); Assert.AreSame(col1.Family, actual); Assert.AreSame(col2.Family, actual); }
public void Constructor_Test() { // arrange var colName = "This is a test name"; var col1 = new FluentColumn<AsciiType> { ColumnName = "Test1", ColumnValue = 300M }; var col2 = new FluentColumn<AsciiType> { ColumnName = "Test2", ColumnValue = "Hello" }; // act var actual = new FluentSuperColumn<AsciiType, AsciiType>(); actual.ColumnName = colName; actual.Columns.Add(col1); actual.Columns.Add(col2); // assert Assert.AreEqual(colName, (string)actual.ColumnName); Assert.AreEqual(2, actual.Columns.Count); }
public override IEnumerable <IFluentSuperColumn <CompareWith, CompareSubcolumnWith> > Execute(BaseCassandraColumnFamily columnFamily) { CassandraSession _localSession = null; if (CassandraSession.Current == null) { _localSession = new CassandraSession(); } try { var parent = new ColumnParent { Column_family = columnFamily.FamilyName }; if (SuperColumnName != null) { parent.Super_column = SuperColumnName; } var output = CassandraSession.Current.GetClient().multiget_slice( Keys.ToByteArrayList(), parent, SlicePredicate.CreateSlicePredicate(), CassandraSession.Current.ReadConsistency ); foreach (var result in output) { var r = new FluentSuperColumn <CompareWith, CompareSubcolumnWith>(result.Value.Select(col => { return(Helper.ConvertColumnToFluentColumn <CompareSubcolumnWith>(col.Column)); })); columnFamily.Context.Attach(r); r.MutationTracker.Clear(); yield return(r); } } finally { if (_localSession != null) { _localSession.Dispose(); } } }
public void Get_NonExistent_Column() { // arrange var colName = "This is a test name"; var colValue1 = 300M; var colValue2 = "Hello"; string expected = null; // act dynamic superColumn = new FluentSuperColumn <AsciiType, AsciiType>(); superColumn.Name = colName; superColumn.Test1 = colValue1; superColumn.Test2 = colValue2; var actual = superColumn.Test3; // assert Assert.AreEqual(expected, actual); }
public void Constructor_Dynamic_Test() { // arrange var col1 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test2" }; // act dynamic actual = new FluentSuperColumnFamily<AsciiType, AsciiType>("Keyspace1", "Standard1"); actual.Test1 = col1; actual.Test2 = col2; // assert Assert.AreEqual(col1, actual.Test1); Assert.AreEqual(col1, actual["Test1"]); Assert.AreEqual(col2, actual.Test2); Assert.AreEqual(col2, actual["Test2"]); Assert.AreSame(col1.Family, actual); Assert.AreSame(col2.Family, actual); }
public void Get_NonExistent_Column() { // arrange var col1 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test2" }; // act dynamic family = new FluentSuperColumnFamily <AsciiType, AsciiType>("Keyspace1", "Standard1"); family.Test1 = col1; family.Test2 = col2; var actual = family.Test3; // assert Assert.IsInstanceOfType(typeof(IFluentSuperColumn), actual); }
public void Constructor_Test() { // arrange var col1 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test2" }; // act var actual = new FluentSuperColumnFamily <AsciiType, AsciiType>("Keyspace1", "Standard1"); actual.Columns.Add(col1); actual.Columns.Add(col2); // assert Assert.AreEqual(2, actual.Columns.Count); Assert.AreSame(col1.Family, actual); Assert.AreSame(col2.Family, actual); }
public void Constructor_Test() { // arrange var colName = "This is a test name"; var col1 = new FluentColumn <AsciiType> { ColumnName = "Test1", ColumnValue = 300M }; var col2 = new FluentColumn <AsciiType> { ColumnName = "Test2", ColumnValue = "Hello" }; // act var actual = new FluentSuperColumn <AsciiType, AsciiType>(); actual.ColumnName = colName; actual.Columns.Add(col1); actual.Columns.Add(col2); // assert Assert.AreEqual(colName, (string)actual.ColumnName); Assert.AreEqual(2, actual.Columns.Count); }
public void Constructor_Dynamic_Test() { // arrange var colName = "This is a test name"; var col1 = "Test1"; var colValue1 = 300M; var col2 = "Test2"; var colValue2 = "Hello"; // act dynamic actual = new FluentSuperColumn<AsciiType, AsciiType>(); actual.Name = colName; actual.Test1 = colValue1; actual.Test2 = colValue2; // assert Assert.AreEqual(colName, (string)actual.Name); //Assert.AreEqual(2, actual.Columns.Count); Assert.AreEqual(colValue1, (decimal)actual.Test1); Assert.AreEqual(colValue1, (decimal)actual[col1]); Assert.AreEqual(colValue2, (string)actual.Test2); Assert.AreEqual(colValue2, (string)actual[col2]); }
public void Constructor_Dynamic_Test() { // arrange var colName = "This is a test name"; var col1 = "Test1"; var colValue1 = 300M; var col2 = "Test2"; var colValue2 = "Hello"; // act dynamic actual = new FluentSuperColumn <AsciiType, AsciiType>(); actual.Name = colName; actual.Test1 = colValue1; actual.Test2 = colValue2; // assert Assert.AreEqual(colName, (string)actual.Name); //Assert.AreEqual(2, actual.Columns.Count); Assert.AreEqual(colValue1, (decimal)actual.Test1); Assert.AreEqual(colValue1, (decimal)actual[col1]); Assert.AreEqual(colValue2, (string)actual.Test2); Assert.AreEqual(colValue2, (string)actual[col2]); }
public void Constructor_Dynamic_Test() { // arrange var col1 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn <AsciiType, AsciiType> { ColumnName = "Test2" }; // act dynamic actual = new FluentSuperColumnFamily <AsciiType, AsciiType>("Keyspace1", "Standard1"); actual.Test1 = col1; actual.Test2 = col2; // assert Assert.AreEqual(col1, actual.Test1); Assert.AreEqual(col1, actual["Test1"]); Assert.AreEqual(col2, actual.Test2); Assert.AreEqual(col2, actual["Test2"]); Assert.AreSame(col1.Family, actual); Assert.AreSame(col2.Family, actual); }
/// <summary> /// /// </summary> /// <param name="columnFamily"></param> /// <param name="superColumn"></param> /// <param name="column"></param> public FluentColumnParent(IFluentBaseColumnFamily columnFamily, FluentSuperColumn superColumn) { ColumnFamily = columnFamily; SuperColumn = superColumn; }
public FluentColumnPath(IFluentBaseColumnFamily columnFamily, FluentSuperColumn superColumn, FluentCounterColumn column) : base(columnFamily, superColumn) { CounterColumn = column; }
public void Get_NonExistent_Column() { // arrange var colName = "This is a test name"; var colValue1 = 300M; var colValue2 = "Hello"; string expected = null; // act dynamic superColumn = new FluentSuperColumn<AsciiType, AsciiType>(); superColumn.Name = colName; superColumn.Test1 = colValue1; superColumn.Test2 = colValue2; var actual = superColumn.Test3; // assert Assert.AreEqual(expected, actual); }
public void Mutation() { // arrange var colName = "This is a test name"; var col1 = new FluentColumn<AsciiType> { ColumnName = "Test1", ColumnValue = 300M }; var col2 = new FluentColumn<AsciiType> { ColumnName = "Test2", ColumnValue = "Hello" }; // act var actual = new FluentSuperColumn<AsciiType, AsciiType>(); actual.ColumnName = colName; actual.Columns.Add(col1); actual.Columns.Add(col2); // assert var mutations = actual.MutationTracker.GetMutations(); Assert.AreEqual(2, mutations.Count()); Assert.AreEqual(2, mutations.Count(x => x.Type == MutationType.Added)); var mut1 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test1"); var mut2 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test2"); Assert.AreSame(col1, mut1.Column); Assert.AreSame(col2, mut2.Column); Assert.AreSame(actual, mut1.Column.GetParent().SuperColumn); Assert.AreSame(actual, mut2.Column.GetParent().SuperColumn); }
public void Mutation() { // arrange var col1 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test1" }; var col2 = new FluentSuperColumn<AsciiType, AsciiType> { ColumnName = "Test2" }; // act var actual = new FluentSuperColumnFamily<AsciiType, AsciiType>("Keyspace1", "Standard1"); actual.Columns.Add(col1); actual.Columns.Add(col2); // assert var mutations = actual.MutationTracker.GetMutations(); Assert.AreEqual(2, mutations.Count()); Assert.AreEqual(2, mutations.Count(x => x.Type == MutationType.Added)); var mut1 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test1"); var mut2 = mutations.FirstOrDefault(x => x.Column.ColumnName == "Test2"); Assert.AreSame(col1, mut1.Column); Assert.AreSame(col2, mut2.Column); Assert.AreSame(actual, mut1.Column.GetParent().ColumnFamily); Assert.AreSame(actual, mut2.Column.GetParent().ColumnFamily); }
public static FluentSuperColumn ConvertSuperColumnToFluentSuperColumn(SuperColumn col, CassandraColumnFamilySchema schema = null) { var superColSchema = new CassandraColumnSchema { Name = col.Name }; if (schema != null) superColSchema = new CassandraColumnSchema { NameType = schema.SuperColumnNameType, Name = CassandraObject.GetTypeFromDatabaseValue(col.Name, schema.SuperColumnNameType), ValueType = schema.ColumnNameType }; var superCol = new FluentSuperColumn(superColSchema) { ColumnName = CassandraObject.GetTypeFromDatabaseValue(col.Name, superColSchema.NameType) }; foreach (var xcol in col.Columns) superCol.Columns.Add(ConvertColumnToFluentColumn(xcol, schema)); return superCol; }
public static FluentSuperColumn ConvertSuperColumnToFluentCounterSuperColumn(CounterSuperColumn col, CassandraColumnFamilySchema schema) { var superColSchema = new CassandraColumnSchema { Name = col.Name }; if (schema != null) superColSchema = new CassandraColumnSchema { NameType = schema.SuperColumnNameType, Name = CassandraObject.GetCassandraObjectFromDatabaseByteArray(col.Name, schema.SuperColumnNameType), ValueType = schema.ColumnNameType }; var superCol = new FluentSuperColumn(superColSchema) { ColumnName = CassandraObject.GetCassandraObjectFromDatabaseByteArray(col.Name, superColSchema.NameType) }; ((ILoadable)superCol).BeginLoad(); foreach (var xcol in col.Columns) superCol.Columns.Add(ConvertColumnToFluentCounterColumn(xcol, schema)); ((ILoadable)superCol).EndLoad(); return superCol; }