[
  {
    "name": "equal means redundant return constraint",
    "function": "resampled_efficient_frontier",
    "args": [
      [
        [
          0.2,
          0.1
        ],
        [
          0,
          0.1
        ],
        [
          0.1,
          0.2
        ],
        [
          0.1,
          0
        ]
      ],
      [
        [
          0,
          1,
          2,
          3
        ]
      ],
      [
        0,
        0.5,
        1
      ]
    ],
    "expected": {
      "averaged_weights": [
        [
          0.5,
          0.5
        ],
        [
          0.5,
          0.5
        ],
        [
          0.5,
          0.5
        ]
      ]
    },
    "error": false
  },
  {
    "name": "singular covariance permits zero variance hedge",
    "function": "resampled_efficient_frontier",
    "args": [
      [
        [
          0.1,
          -0.1
        ],
        [
          -0.1,
          0.1
        ]
      ],
      [
        [
          0,
          1
        ]
      ],
      [
        0,
        0.5,
        1
      ]
    ],
    "expected": {
      "averaged_weights": [
        [
          0.5,
          0.5
        ],
        [
          0.5,
          0.5
        ],
        [
          0.5,
          0.5
        ]
      ]
    },
    "error": false
  },
  {
    "name": "fractional index rejected",
    "function": "resampled_efficient_frontier",
    "args": [
      [
        [
          0,
          0
        ],
        [
          0.1,
          0.2
        ]
      ],
      [
        [
          0.9,
          1
        ]
      ],
      [
        0
      ]
    ],
    "expected": null,
    "error": true
  },
  {
    "name": "reference size enforced",
    "function": "resampled_efficient_frontier",
    "args": [
      [
        [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        [
          0.1,
          0.1,
          0.1,
          0.1,
          0.1,
          0.1,
          0.1,
          0.1,
          0.1,
          0.1,
          0.1,
          0.1,
          0.1
        ]
      ],
      [
        [
          0,
          1
        ]
      ],
      [
        0
      ]
    ],
    "expected": null,
    "error": true
  },
  {
    "name": "fractional bootstrap size rejected",
    "function": "seeded_bootstrap_indices",
    "args": [
      6,
      4.5,
      2,
      42
    ],
    "expected": null,
    "error": true
  },
  {
    "name": "seed bounds enforced",
    "function": "seeded_bootstrap_indices",
    "args": [
      6,
      4,
      2,
      -1
    ],
    "expected": null,
    "error": true
  },
  {
    "error": false,
    "name": "three asset diagonal GMV and maximum endpoint",
    "function": "resampled_efficient_frontier",
    "args": [
      [
        [
          0.06535898384862246,
          0.07,
          0.04
        ],
        [
          0.13464101615137755,
          0.07,
          0.04
        ],
        [
          0.1,
          0.018038475772933688,
          0.04
        ],
        [
          0.1,
          0.12196152422706633,
          0.04
        ],
        [
          0.1,
          0.07,
          -0.02928203230275509
        ],
        [
          0.1,
          0.07,
          0.1092820323027551
        ]
      ],
      [
        [
          0,
          1,
          2,
          3,
          4,
          5
        ]
      ],
      [
        0,
        1
      ]
    ],
    "expected": {
      "averaged_weights": [
        [
          0.5901639344262295,
          0.26229508196721313,
          0.14754098360655737
        ],
        [
          1,
          0,
          0
        ]
      ]
    }
  }
]
