gopkg.in/rethinkdb/rethinkdb-go.v6@v6.2.2/internal/integration/reql_tests/reql_transform_unordered_map_test.go (about)

     1  // Code generated by gen_tests.py and process_polyglot.py.
     2  // Do not edit this file directly.
     3  // The template for this file is located at:
     4  // ../template.go.tpl
     5  package reql_tests
     6  
     7  import (
     8  	"testing"
     9  	"time"
    10  
    11  	"github.com/stretchr/testify/suite"
    12  	r "gopkg.in/rethinkdb/rethinkdb-go.v6"
    13  	"gopkg.in/rethinkdb/rethinkdb-go.v6/internal/compare"
    14  )
    15  
    16  // Tests for ordered_union
    17  func TestTransformUnorderedMapSuite(t *testing.T) {
    18  	suite.Run(t, new(TransformUnorderedMapSuite))
    19  }
    20  
    21  type TransformUnorderedMapSuite struct {
    22  	suite.Suite
    23  
    24  	session *r.Session
    25  }
    26  
    27  func (suite *TransformUnorderedMapSuite) SetupTest() {
    28  	suite.T().Log("Setting up TransformUnorderedMapSuite")
    29  	// Use imports to prevent errors
    30  	_ = time.Time{}
    31  	_ = compare.AnythingIsFine
    32  
    33  	session, err := r.Connect(r.ConnectOpts{
    34  		Address: url,
    35  	})
    36  	suite.Require().NoError(err, "Error returned when connecting to server")
    37  	suite.session = session
    38  
    39  	r.DBDrop("test").Exec(suite.session)
    40  	err = r.DBCreate("test").Exec(suite.session)
    41  	suite.Require().NoError(err)
    42  	err = r.DB("test").Wait().Exec(suite.session)
    43  	suite.Require().NoError(err)
    44  
    45  	r.DB("test").TableDrop("even").Exec(suite.session)
    46  	err = r.DB("test").TableCreate("even").Exec(suite.session)
    47  	suite.Require().NoError(err)
    48  	err = r.DB("test").Table("even").Wait().Exec(suite.session)
    49  	suite.Require().NoError(err)
    50  	r.DB("test").TableDrop("odd").Exec(suite.session)
    51  	err = r.DB("test").TableCreate("odd").Exec(suite.session)
    52  	suite.Require().NoError(err)
    53  	err = r.DB("test").Table("odd").Wait().Exec(suite.session)
    54  	suite.Require().NoError(err)
    55  	r.DB("test").TableDrop("odd2").Exec(suite.session)
    56  	err = r.DB("test").TableCreate("odd2").Exec(suite.session)
    57  	suite.Require().NoError(err)
    58  	err = r.DB("test").Table("odd2").Wait().Exec(suite.session)
    59  	suite.Require().NoError(err)
    60  }
    61  
    62  func (suite *TransformUnorderedMapSuite) TearDownSuite() {
    63  	suite.T().Log("Tearing down TransformUnorderedMapSuite")
    64  
    65  	if suite.session != nil {
    66  		r.DB("rethinkdb").Table("_debug_scratch").Delete().Exec(suite.session)
    67  		r.DB("test").TableDrop("even").Exec(suite.session)
    68  		r.DB("test").TableDrop("odd").Exec(suite.session)
    69  		r.DB("test").TableDrop("odd2").Exec(suite.session)
    70  		r.DBDrop("test").Exec(suite.session)
    71  
    72  		suite.session.Close()
    73  	}
    74  }
    75  
    76  func (suite *TransformUnorderedMapSuite) TestCases() {
    77  	suite.T().Log("Running TransformUnorderedMapSuite: Tests for ordered_union")
    78  
    79  	even := r.DB("test").Table("even")
    80  	_ = even // Prevent any noused variable errors
    81  	odd := r.DB("test").Table("odd")
    82  	_ = odd // Prevent any noused variable errors
    83  	odd2 := r.DB("test").Table("odd2")
    84  	_ = odd2 // Prevent any noused variable errors
    85  
    86  	{
    87  		// transform/unordered_map.yaml line #6
    88  		/* AnythingIsFine */
    89  		var expected_ string = compare.AnythingIsFine
    90  		/* odd.insert([{"id":1, "num":1}, {"id":3, "num":3}, {"id":5, "num":5}]) */
    91  
    92  		suite.T().Log("About to run line #6: odd.Insert([]interface{}{map[interface{}]interface{}{'id': 1, 'num': 1, }, map[interface{}]interface{}{'id': 3, 'num': 3, }, map[interface{}]interface{}{'id': 5, 'num': 5, }})")
    93  
    94  		runAndAssert(suite.Suite, expected_, odd.Insert([]interface{}{map[interface{}]interface{}{"id": 1, "num": 1}, map[interface{}]interface{}{"id": 3, "num": 3}, map[interface{}]interface{}{"id": 5, "num": 5}}), suite.session, r.RunOpts{
    95  			GeometryFormat: "raw",
    96  			GroupFormat:    "map",
    97  		})
    98  		suite.T().Log("Finished running line #6")
    99  	}
   100  
   101  	{
   102  		// transform/unordered_map.yaml line #7
   103  		/* AnythingIsFine */
   104  		var expected_ string = compare.AnythingIsFine
   105  		/* even.insert([{"id":2, "num":2}, {"id":4, "num":4}, {"id":6, "num":6}]) */
   106  
   107  		suite.T().Log("About to run line #7: even.Insert([]interface{}{map[interface{}]interface{}{'id': 2, 'num': 2, }, map[interface{}]interface{}{'id': 4, 'num': 4, }, map[interface{}]interface{}{'id': 6, 'num': 6, }})")
   108  
   109  		runAndAssert(suite.Suite, expected_, even.Insert([]interface{}{map[interface{}]interface{}{"id": 2, "num": 2}, map[interface{}]interface{}{"id": 4, "num": 4}, map[interface{}]interface{}{"id": 6, "num": 6}}), suite.session, r.RunOpts{
   110  			GeometryFormat: "raw",
   111  			GroupFormat:    "map",
   112  		})
   113  		suite.T().Log("Finished running line #7")
   114  	}
   115  
   116  	{
   117  		// transform/unordered_map.yaml line #8
   118  		/* AnythingIsFine */
   119  		var expected_ string = compare.AnythingIsFine
   120  		/* odd2.insert([{"id":7, "num":1}, {"id":8, "num":3}, {"id":9, "num":2}]) */
   121  
   122  		suite.T().Log("About to run line #8: odd2.Insert([]interface{}{map[interface{}]interface{}{'id': 7, 'num': 1, }, map[interface{}]interface{}{'id': 8, 'num': 3, }, map[interface{}]interface{}{'id': 9, 'num': 2, }})")
   123  
   124  		runAndAssert(suite.Suite, expected_, odd2.Insert([]interface{}{map[interface{}]interface{}{"id": 7, "num": 1}, map[interface{}]interface{}{"id": 8, "num": 3}, map[interface{}]interface{}{"id": 9, "num": 2}}), suite.session, r.RunOpts{
   125  			GeometryFormat: "raw",
   126  			GroupFormat:    "map",
   127  		})
   128  		suite.T().Log("Finished running line #8")
   129  	}
   130  
   131  	{
   132  		// transform/unordered_map.yaml line #11
   133  		/* [{"id":1, "num":1}, {"id":3, "num":3}, {"id":5, "num":5}, {"id":2, "num":2}, {"id":4, "num":4}, {"id":6, "num":6}] */
   134  		var expected_ []interface{} = []interface{}{map[interface{}]interface{}{"id": 1, "num": 1}, map[interface{}]interface{}{"id": 3, "num": 3}, map[interface{}]interface{}{"id": 5, "num": 5}, map[interface{}]interface{}{"id": 2, "num": 2}, map[interface{}]interface{}{"id": 4, "num": 4}, map[interface{}]interface{}{"id": 6, "num": 6}}
   135  		/* odd.order_by("num").union(even.order_by("num"), interleave = false) */
   136  
   137  		suite.T().Log("About to run line #11: odd.OrderBy('num').Union(even.OrderBy('num')).OptArgs(r.UnionOpts{Interleave: false, })")
   138  
   139  		runAndAssert(suite.Suite, expected_, odd.OrderBy("num").Union(even.OrderBy("num")).OptArgs(r.UnionOpts{Interleave: false}), suite.session, r.RunOpts{
   140  			GeometryFormat: "raw",
   141  			GroupFormat:    "map",
   142  		})
   143  		suite.T().Log("Finished running line #11")
   144  	}
   145  
   146  	{
   147  		// transform/unordered_map.yaml line #16
   148  		/* [{"id":2, "num":2}, {"id":4, "num":4}, {"id":6, "num":6}, {"id":1, "num":1}, {"id":3, "num":3}, {"id":5, "num":5}] */
   149  		var expected_ []interface{} = []interface{}{map[interface{}]interface{}{"id": 2, "num": 2}, map[interface{}]interface{}{"id": 4, "num": 4}, map[interface{}]interface{}{"id": 6, "num": 6}, map[interface{}]interface{}{"id": 1, "num": 1}, map[interface{}]interface{}{"id": 3, "num": 3}, map[interface{}]interface{}{"id": 5, "num": 5}}
   150  		/* even.order_by("num").union(odd.order_by("num"), interleave = false) */
   151  
   152  		suite.T().Log("About to run line #16: even.OrderBy('num').Union(odd.OrderBy('num')).OptArgs(r.UnionOpts{Interleave: false, })")
   153  
   154  		runAndAssert(suite.Suite, expected_, even.OrderBy("num").Union(odd.OrderBy("num")).OptArgs(r.UnionOpts{Interleave: false}), suite.session, r.RunOpts{
   155  			GeometryFormat: "raw",
   156  			GroupFormat:    "map",
   157  		})
   158  		suite.T().Log("Finished running line #16")
   159  	}
   160  
   161  	{
   162  		// transform/unordered_map.yaml line #22
   163  		/* [{"id":1, "num":1}, {"id":2, "num":2}, {"id":3, "num":3}, {"id":4, "num":4}, {"id":5, "num":5}, {"id":6, "num":6}] */
   164  		var expected_ []interface{} = []interface{}{map[interface{}]interface{}{"id": 1, "num": 1}, map[interface{}]interface{}{"id": 2, "num": 2}, map[interface{}]interface{}{"id": 3, "num": 3}, map[interface{}]interface{}{"id": 4, "num": 4}, map[interface{}]interface{}{"id": 5, "num": 5}, map[interface{}]interface{}{"id": 6, "num": 6}}
   165  		/* odd.order_by("num").union(even.order_by("num"), interleave="num") */
   166  
   167  		suite.T().Log("About to run line #22: odd.OrderBy('num').Union(even.OrderBy('num')).OptArgs(r.UnionOpts{Interleave: 'num', })")
   168  
   169  		runAndAssert(suite.Suite, expected_, odd.OrderBy("num").Union(even.OrderBy("num")).OptArgs(r.UnionOpts{Interleave: "num"}), suite.session, r.RunOpts{
   170  			GeometryFormat: "raw",
   171  			GroupFormat:    "map",
   172  		})
   173  		suite.T().Log("Finished running line #22")
   174  	}
   175  
   176  	{
   177  		// transform/unordered_map.yaml line #28
   178  		/* err("ReqlQueryLogicError","The streams given as arguments are not ordered by given ordering.") */
   179  		var expected_ Err = err("ReqlQueryLogicError", "The streams given as arguments are not ordered by given ordering.")
   180  		/* odd.order_by("num").union(even.order_by("num"), interleave=r.desc("num")) */
   181  
   182  		suite.T().Log("About to run line #28: odd.OrderBy('num').Union(even.OrderBy('num')).OptArgs(r.UnionOpts{Interleave: r.Desc('num'), })")
   183  
   184  		runAndAssert(suite.Suite, expected_, odd.OrderBy("num").Union(even.OrderBy("num")).OptArgs(r.UnionOpts{Interleave: r.Desc("num")}), suite.session, r.RunOpts{
   185  			GeometryFormat: "raw",
   186  			GroupFormat:    "map",
   187  		})
   188  		suite.T().Log("Finished running line #28")
   189  	}
   190  
   191  	{
   192  		// transform/unordered_map.yaml line #34
   193  		/* [{"id":1, "num":1}, {"id":2, "num":2}, {"id":3, "num":3}, {"id":4, "num":4}, {"id":5, "num":5}, {"id":6, "num":6}] */
   194  		var expected_ []interface{} = []interface{}{map[interface{}]interface{}{"id": 1, "num": 1}, map[interface{}]interface{}{"id": 2, "num": 2}, map[interface{}]interface{}{"id": 3, "num": 3}, map[interface{}]interface{}{"id": 4, "num": 4}, map[interface{}]interface{}{"id": 5, "num": 5}, map[interface{}]interface{}{"id": 6, "num": 6}}
   195  		/* odd.order_by("num").union(even.order_by("num"), interleave=lambda x: x["num"]) */
   196  
   197  		suite.T().Log("About to run line #34: odd.OrderBy('num').Union(even.OrderBy('num')).OptArgs(r.UnionOpts{Interleave: func(x r.Term) interface{} { return x.AtIndex('num')}, })")
   198  
   199  		runAndAssert(suite.Suite, expected_, odd.OrderBy("num").Union(even.OrderBy("num")).OptArgs(r.UnionOpts{Interleave: func(x r.Term) interface{} { return x.AtIndex("num") }}), suite.session, r.RunOpts{
   200  			GeometryFormat: "raw",
   201  			GroupFormat:    "map",
   202  		})
   203  		suite.T().Log("Finished running line #34")
   204  	}
   205  
   206  	{
   207  		// transform/unordered_map.yaml line #40
   208  		/* [{"id": 7, "num": 1}, {"id": 2, "num": 2}, {"id": 9, "num": 2}, {"id": 8, "num": 3}, {"id": 4, "num": 4}, {"id": 6, "num": 6}] */
   209  		var expected_ []interface{} = []interface{}{map[interface{}]interface{}{"id": 7, "num": 1}, map[interface{}]interface{}{"id": 2, "num": 2}, map[interface{}]interface{}{"id": 9, "num": 2}, map[interface{}]interface{}{"id": 8, "num": 3}, map[interface{}]interface{}{"id": 4, "num": 4}, map[interface{}]interface{}{"id": 6, "num": 6}}
   210  		/* odd2.order_by("num", r.desc("id")).union(even.order_by("num", r.desc("id")), interleave=[lambda x: x["num"], lambda x: x["id"]]) */
   211  
   212  		suite.T().Log("About to run line #40: odd2.OrderBy('num', r.Desc('id')).Union(even.OrderBy('num', r.Desc('id'))).OptArgs(r.UnionOpts{Interleave: []interface{}{func(x r.Term) interface{} { return x.AtIndex('num')}, func(x r.Term) interface{} { return x.AtIndex('id')}}, })")
   213  
   214  		runAndAssert(suite.Suite, expected_, odd2.OrderBy("num", r.Desc("id")).Union(even.OrderBy("num", r.Desc("id"))).OptArgs(r.UnionOpts{Interleave: []interface{}{func(x r.Term) interface{} { return x.AtIndex("num") }, func(x r.Term) interface{} { return x.AtIndex("id") }}}), suite.session, r.RunOpts{
   215  			GeometryFormat: "raw",
   216  			GroupFormat:    "map",
   217  		})
   218  		suite.T().Log("Finished running line #40")
   219  	}
   220  
   221  	{
   222  		// transform/unordered_map.yaml line #46
   223  		/* err("ReqlServerCompileError", "DESC may only be used as an argument to ORDER_BY or UNION.") */
   224  		var expected_ Err = err("ReqlCompileError", "DESC may only be used as an argument to ORDER_BY or UNION.")
   225  		/* odd.order_by("num").union(even.order_by("num"), interleave=lambda x: r.desc(x["num"])) */
   226  
   227  		suite.T().Log("About to run line #46: odd.OrderBy('num').Union(even.OrderBy('num')).OptArgs(r.UnionOpts{Interleave: func(x r.Term) interface{} { return r.Desc(x.AtIndex('num'))}, })")
   228  
   229  		runAndAssert(suite.Suite, expected_, odd.OrderBy("num").Union(even.OrderBy("num")).OptArgs(r.UnionOpts{Interleave: func(x r.Term) interface{} { return r.Desc(x.AtIndex("num")) }}), suite.session, r.RunOpts{
   230  			GeometryFormat: "raw",
   231  			GroupFormat:    "map",
   232  		})
   233  		suite.T().Log("Finished running line #46")
   234  	}
   235  
   236  	{
   237  		// transform/unordered_map.yaml line #50
   238  		/* [{"id":6, "num":6}, {"id":5, "num":5}, {"id":4, "num":4}, {"id":3, "num":3}, {"id":2, "num":2}, {"id":1, "num":1}] */
   239  		var expected_ []interface{} = []interface{}{map[interface{}]interface{}{"id": 6, "num": 6}, map[interface{}]interface{}{"id": 5, "num": 5}, map[interface{}]interface{}{"id": 4, "num": 4}, map[interface{}]interface{}{"id": 3, "num": 3}, map[interface{}]interface{}{"id": 2, "num": 2}, map[interface{}]interface{}{"id": 1, "num": 1}}
   240  		/* odd.order_by(r.desc("num")).union(even.order_by(r.desc("num")), interleave= [r.desc(lambda x: x["num"])]) */
   241  
   242  		suite.T().Log("About to run line #50: odd.OrderBy(r.Desc('num')).Union(even.OrderBy(r.Desc('num'))).OptArgs(r.UnionOpts{Interleave: []interface{}{r.Desc(func(x r.Term) interface{} { return x.AtIndex('num')})}, })")
   243  
   244  		runAndAssert(suite.Suite, expected_, odd.OrderBy(r.Desc("num")).Union(even.OrderBy(r.Desc("num"))).OptArgs(r.UnionOpts{Interleave: []interface{}{r.Desc(func(x r.Term) interface{} { return x.AtIndex("num") })}}), suite.session, r.RunOpts{
   245  			GeometryFormat: "raw",
   246  			GroupFormat:    "map",
   247  		})
   248  		suite.T().Log("Finished running line #50")
   249  	}
   250  
   251  	{
   252  		// transform/unordered_map.yaml line #54
   253  		/* [{"id":1, "num":1}, {"id":7, "num":1}, {"id":2, "num":2}, {"id":9, "num":2}, {"id":3, "num":3}, {"id":8, "num":3}, {"id":4, "num":4}, {"id":5, "num":5}, {"id":6, "num":6}, ] */
   254  		var expected_ []interface{} = []interface{}{map[interface{}]interface{}{"id": 1, "num": 1}, map[interface{}]interface{}{"id": 7, "num": 1}, map[interface{}]interface{}{"id": 2, "num": 2}, map[interface{}]interface{}{"id": 9, "num": 2}, map[interface{}]interface{}{"id": 3, "num": 3}, map[interface{}]interface{}{"id": 8, "num": 3}, map[interface{}]interface{}{"id": 4, "num": 4}, map[interface{}]interface{}{"id": 5, "num": 5}, map[interface{}]interface{}{"id": 6, "num": 6}}
   255  		/* odd.order_by("num", "id").union(even.order_by("num", "id"), odd2.order_by("num", "id"), interleave= ["num", "id"]) */
   256  
   257  		suite.T().Log("About to run line #54: odd.OrderBy('num', 'id').Union(even.OrderBy('num', 'id'), odd2.OrderBy('num', 'id')).OptArgs(r.UnionOpts{Interleave: []interface{}{'num', 'id'}, })")
   258  
   259  		runAndAssert(suite.Suite, expected_, odd.OrderBy("num", "id").Union(even.OrderBy("num", "id"), odd2.OrderBy("num", "id")).OptArgs(r.UnionOpts{Interleave: []interface{}{"num", "id"}}), suite.session, r.RunOpts{
   260  			GeometryFormat: "raw",
   261  			GroupFormat:    "map",
   262  		})
   263  		suite.T().Log("Finished running line #54")
   264  	}
   265  
   266  	{
   267  		// transform/unordered_map.yaml line #58
   268  		/* err("ReqlQueryLogicError","The streams given as arguments are not ordered by given ordering.") */
   269  		var expected_ Err = err("ReqlQueryLogicError", "The streams given as arguments are not ordered by given ordering.")
   270  		/* odd.order_by("num", "id").union(even.order_by("num", "id"), odd2.order_by(r.desc("num"), "id"), interleave= ["num", "id"]) */
   271  
   272  		suite.T().Log("About to run line #58: odd.OrderBy('num', 'id').Union(even.OrderBy('num', 'id'), odd2.OrderBy(r.Desc('num'), 'id')).OptArgs(r.UnionOpts{Interleave: []interface{}{'num', 'id'}, })")
   273  
   274  		runAndAssert(suite.Suite, expected_, odd.OrderBy("num", "id").Union(even.OrderBy("num", "id"), odd2.OrderBy(r.Desc("num"), "id")).OptArgs(r.UnionOpts{Interleave: []interface{}{"num", "id"}}), suite.session, r.RunOpts{
   275  			GeometryFormat: "raw",
   276  			GroupFormat:    "map",
   277  		})
   278  		suite.T().Log("Finished running line #58")
   279  	}
   280  }