public void ImplementsEquatable_Properly(JsonFieldColumn first, object second, bool expectedValue, string reason) { _outputHelper.WriteLine($"First element : {first}"); _outputHelper.WriteLine($"second second : {second}"); // Act bool actual = first.Equals(second); // Assert actual.Should() .Be(expectedValue, reason); }
public void CtorFeedsProperty(string columnName, string path) { // Arrange FieldColumn f = new FieldColumn(columnName); // Act JsonFieldColumn column = new JsonFieldColumn(f, path); // Assert column.Column.Should() .BeSameAs(f); column.Path.Should() .Be(path); }
public void Clone_Performs_A_Deep_Clone() { // Arrange FieldColumn f = new FieldColumn("prop1"); JsonFieldColumn original = new JsonFieldColumn(f, "path"); // Act IColumn clone = original.Clone(); // Assert clone.Should() .BeOfType <JsonFieldColumn>().And .NotBeSameAs(original).And .Be(original); }
protected virtual string RenderJsonColumn(JsonFieldColumn json, bool renderAlias) { string[] columnParts = json.Path.Split('.'); string result; if (columnParts.Length == 1) { result = $"{RenderColumn(json.Column, renderAlias: false)} {(json.RenderAsString ? "->>" : "->")} '{columnParts.Single()}'"; } else { string path = $"{string.Join(" -> ", columnParts.Take(columnParts.Length - 1).Select(EscapeName))} {(json.RenderAsString ? "->>" : "->")} '{ columnParts.Last() }'"; result = $"{RenderColumn(json.Column, renderAlias: false)} -> {path}"; } return($"{result}{(renderAlias && !string.IsNullOrWhiteSpace(json.Alias) ? $" AS {EscapeName(json.Alias)}" : string.Empty)}"); }
/// <summary> /// Builds a <see cref="WhereClause"/> instance. /// </summary> /// <param name="column"></param> /// <param name="constraint"></param> /// <returns></returns> public static WhereClause EqualTo(this JsonFieldColumn column, ColumnBase constraint) => new WhereClause(column, ClauseOperator.EqualTo, constraint);