...

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

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

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

View as plain text