Different modes for CubeTest:
- choose the right cube
- choose the wrong cube
- choose the right cubes

Logic for choosing the right cube.

This is not important: the user must do this.

Logic for choosing the wrong cube.

This is important: the program must check that a given cube can be falisfied.
What can be different?

- one of the three shown sides may not be present on the given cube at all
- one of the three shown sides may not be present so often on the given cube

Each side has 4 edges. For a C4 cube there's only one unique edge, for C2 there are 2 unique edges and for C1 there are 4 unique edges. In the given cube, three interfaces are shown. An interface is where 2 edges of different sides meet.

How to select the initial cube

How to make a wrong cube

if all sides of the given cube are known:
- add a side to it that is not present on the given cube
- show a side that is unique on one cube twice on a wrong cube
- show a side this appears twice on the given cube, thrice on a wrong cube

