github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/sqlx/builder/functions_test.go (about)

     1  package builder
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestFunc(t *testing.T) {
     8  	exprCases{
     9  		Case(
    10  			"Nil",
    11  			Func("", CanExpr(nil)),
    12  			nil,
    13  		),
    14  		Case(
    15  			"COUNT",
    16  			Count(Star()),
    17  			Expr("COUNT(*)"),
    18  		),
    19  		Case(
    20  			"AVG",
    21  			Avg(Star()),
    22  			Expr("AVG(*)"),
    23  		),
    24  		Case(
    25  			"DISTINCT",
    26  			Distinct(Star()),
    27  			Expr("DISTINCT(*)"),
    28  		),
    29  		Case(
    30  			"MIN",
    31  			Min(Star()),
    32  			Expr("MIN(*)"),
    33  		),
    34  		Case(
    35  			"Max",
    36  			Max(Star()),
    37  			Expr("MAX(*)"),
    38  		),
    39  		Case(
    40  			"First",
    41  			First(Star()),
    42  			Expr("FIRST(*)"),
    43  		),
    44  		Case(
    45  			"Last",
    46  			Last(Star()),
    47  			Expr("LAST(*)"),
    48  		),
    49  		Case(
    50  			"Sum",
    51  			Sum(Star()),
    52  			Expr("SUM(*)"),
    53  		),
    54  	}.Run(t, "Function")
    55  
    56  }