...

Text file src/github.com/qri-io/jsonschema/testdata/draft6/uniqueItems.json

Documentation: github.com/qri-io/jsonschema/testdata/draft6

     1[
     2    {
     3        "description": "uniqueItems validation",
     4        "schema": {"uniqueItems": true},
     5        "tests": [
     6            {
     7                "description": "unique array of integers is valid",
     8                "data": [1, 2],
     9                "valid": true
    10            },
    11            {
    12                "description": "non-unique array of integers is invalid",
    13                "data": [1, 1],
    14                "valid": false
    15            },
    16            {
    17                "description": "numbers are unique if mathematically unequal",
    18                "data": [1.0, 1.00, 1],
    19                "valid": false
    20            },
    21            {
    22                "description": "false is not equal to zero",
    23                "data": [0, false],
    24                "valid": true
    25            },
    26            {
    27                "description": "true is not equal to one",
    28                "data": [1, true],
    29                "valid": true
    30            },
    31            {
    32                "description": "unique array of objects is valid",
    33                "data": [{"foo": "bar"}, {"foo": "baz"}],
    34                "valid": true
    35            },
    36            {
    37                "description": "non-unique array of objects is invalid",
    38                "data": [{"foo": "bar"}, {"foo": "bar"}],
    39                "valid": false
    40            },
    41            {
    42                "description": "unique array of nested objects is valid",
    43                "data": [
    44                    {"foo": {"bar" : {"baz" : true}}},
    45                    {"foo": {"bar" : {"baz" : false}}}
    46                ],
    47                "valid": true
    48            },
    49            {
    50                "description": "non-unique array of nested objects is invalid",
    51                "data": [
    52                    {"foo": {"bar" : {"baz" : true}}},
    53                    {"foo": {"bar" : {"baz" : true}}}
    54                ],
    55                "valid": false
    56            },
    57            {
    58                "description": "unique array of arrays is valid",
    59                "data": [["foo"], ["bar"]],
    60                "valid": true
    61            },
    62            {
    63                "description": "non-unique array of arrays is invalid",
    64                "data": [["foo"], ["foo"]],
    65                "valid": false
    66            },
    67            {
    68                "description": "1 and true are unique",
    69                "data": [1, true],
    70                "valid": true
    71            },
    72            {
    73                "description": "0 and false are unique",
    74                "data": [0, false],
    75                "valid": true
    76            },
    77            {
    78                "description": "unique heterogeneous types are valid",
    79                "data": [{}, [1], true, null, 1],
    80                "valid": true
    81            },
    82            {
    83                "description": "non-unique heterogeneous types are invalid",
    84                "data": [{}, [1], true, null, {}, 1],
    85                "valid": false
    86            }
    87        ]
    88    },
    89    {
    90        "description": "uniqueItems with an array of items",
    91        "schema": {
    92            "items": [{"type": "boolean"}, {"type": "boolean"}], 
    93            "uniqueItems": true
    94        },
    95        "tests": [
    96            {
    97                "description": "[false, true] from items array is valid",
    98                "data": [false, true],
    99                "valid": true
   100            },
   101            {
   102                "description": "[true, false] from items array is valid",
   103                "data": [true, false],
   104                "valid": true
   105            },
   106            {
   107                "description": "[false, false] from items array is not valid",
   108                "data": [false, false],
   109                "valid": false
   110            },
   111            {
   112                "description": "[true, true] from items array is not valid",
   113                "data": [true, true],
   114                "valid": false
   115            },
   116            {
   117                "description": "unique array extended from [false, true] is valid",
   118                "data": [false, true, "foo", "bar"],
   119                "valid": true
   120            },
   121            {
   122                "description": "unique array extended from [true, false] is valid",
   123                "data": [true, false, "foo", "bar"],
   124                "valid": true
   125            },
   126            {
   127                "description": "non-unique array extended from [false, true] is not valid",
   128                "data": [false, true, "foo", "foo"],
   129                "valid": false
   130            },
   131            {
   132                "description": "non-unique array extended from [true, false] is not valid",
   133                "data": [true, false, "foo", "foo"],
   134                "valid": false
   135            }
   136        ]
   137    },
   138    {
   139        "description": "uniqueItems with an array of items and additionalItems=false",
   140        "schema": {
   141            "items": [{"type": "boolean"}, {"type": "boolean"}], 
   142            "uniqueItems": true, 
   143            "additionalItems": false
   144        },
   145        "tests": [
   146            {
   147                "description": "[false, true] from items array is valid",
   148                "data": [false, true],
   149                "valid": true
   150            },
   151            {
   152                "description": "[true, false] from items array is valid",
   153                "data": [true, false],
   154                "valid": true
   155            },
   156            {
   157                "description": "[false, false] from items array is not valid",
   158                "data": [false, false],
   159                "valid": false
   160            },
   161            {
   162                "description": "[true, true] from items array is not valid",
   163                "data": [true, true],
   164                "valid": false
   165            },
   166            {
   167                "description": "extra items are invalid even if unique",
   168                "data": [false, true, null],
   169                "valid": false
   170            }
   171        ]
   172    }
   173]

View as plain text