File: bsontype_test.go

package info (click to toggle)
golang-mongodb-mongo-driver 1.8.4%2Bds1-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bookworm-backports
  • size: 18,520 kB
  • sloc: perl: 533; ansic: 491; python: 432; makefile: 187; sh: 72
file content (49 lines) | stat: -rw-r--r-- 1,482 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Copyright (C) MongoDB, Inc. 2017-present.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License. You may obtain
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

package bsontype

import "testing"

func TestType(t *testing.T) {
	testCases := []struct {
		name string
		t    Type
		want string
	}{
		{"double", Double, "double"},
		{"string", String, "string"},
		{"embedded document", EmbeddedDocument, "embedded document"},
		{"array", Array, "array"},
		{"binary", Binary, "binary"},
		{"undefined", Undefined, "undefined"},
		{"objectID", ObjectID, "objectID"},
		{"boolean", Boolean, "boolean"},
		{"UTC datetime", DateTime, "UTC datetime"},
		{"null", Null, "null"},
		{"regex", Regex, "regex"},
		{"dbPointer", DBPointer, "dbPointer"},
		{"javascript", JavaScript, "javascript"},
		{"symbol", Symbol, "symbol"},
		{"code with scope", CodeWithScope, "code with scope"},
		{"32-bit integer", Int32, "32-bit integer"},
		{"timestamp", Timestamp, "timestamp"},
		{"64-bit integer", Int64, "64-bit integer"},
		{"128-bit decimal", Decimal128, "128-bit decimal"},
		{"min key", MinKey, "min key"},
		{"max key", MaxKey, "max key"},
		{"invalid", (0), "invalid"},
	}

	for _, tc := range testCases {
		t.Run(tc.name, func(t *testing.T) {
			got := tc.t.String()
			if got != tc.want {
				t.Errorf("String outputs do not match. got %s; want %s", got, tc.want)
			}
		})
	}
}