| | 108 | |
|---|
| | 109 | /** |
|---|
| | 110 | * Testet das Entfernen eines Schiffes aus einer Flotte |
|---|
| | 111 | */ |
|---|
| | 112 | @Test |
|---|
| | 113 | public void removeShipCleanSession() { |
|---|
| | 114 | org.hibernate.Session db = context.getDB(); |
|---|
| | 115 | |
|---|
| | 116 | // Flotten aus dem Cache entfernen |
|---|
| | 117 | db.clear(); |
|---|
| | 118 | |
|---|
| | 119 | Ship ship = (Ship)db.get(Ship.class, 1); |
|---|
| | 120 | ship.getFleet().removeShip(ship); |
|---|
| | 121 | |
|---|
| | 122 | db.flush(); |
|---|
| | 123 | |
|---|
| | 124 | assertThat(ship.getFleet(), nullValue()); |
|---|
| | 125 | |
|---|
| | 126 | ShipFleet fleet = (ShipFleet)db.get(ShipFleet.class, 1); |
|---|
| | 127 | assertThat(fleet, not(nullValue())); |
|---|
| | 128 | |
|---|
| | 129 | ship = (Ship)db.get(Ship.class, 2); |
|---|
| | 130 | assertThat(ship.getFleet(), equalTo(fleet)); |
|---|
| | 131 | } |
|---|
| | 132 | |
|---|
| | 133 | /** |
|---|
| | 134 | * Testet das Entfernen eines Schiffes aus einer Flotte |
|---|
| | 135 | */ |
|---|
| | 136 | @Test |
|---|
| | 137 | public void removeShip() { |
|---|
| | 138 | org.hibernate.Session db = context.getDB(); |
|---|
| | 139 | |
|---|
| | 140 | Ship ship = (Ship)db.get(Ship.class, 1); |
|---|
| | 141 | ship.getFleet().removeShip(ship); |
|---|
| | 142 | |
|---|
| | 143 | db.flush(); |
|---|
| | 144 | |
|---|
| | 145 | assertThat(ship.getFleet(), nullValue()); |
|---|
| | 146 | |
|---|
| | 147 | ShipFleet fleet = (ShipFleet)db.get(ShipFleet.class, 1); |
|---|
| | 148 | assertThat(fleet, not(nullValue())); |
|---|
| | 149 | |
|---|
| | 150 | ship = (Ship)db.get(Ship.class, 2); |
|---|
| | 151 | assertThat(ship.getFleet(), equalTo(fleet)); |
|---|
| | 152 | } |
|---|
| | 153 | |
|---|
| | 154 | /** |
|---|
| | 155 | * Testet das Entfernen eines Schiffes aus einer Flotte |
|---|
| | 156 | * dessen die Flotte anschliessend zu wenig Schiffe hat |
|---|
| | 157 | */ |
|---|
| | 158 | @Test |
|---|
| | 159 | public void removeShipAndDissolveFleet() { |
|---|
| | 160 | org.hibernate.Session db = context.getDB(); |
|---|
| | 161 | |
|---|
| | 162 | Ship ship = (Ship)db.get(Ship.class, 4); |
|---|
| | 163 | ship.getFleet().removeShip(ship); |
|---|
| | 164 | |
|---|
| | 165 | db.flush(); |
|---|
| | 166 | |
|---|
| | 167 | assertThat(ship.getFleet(), nullValue()); |
|---|
| | 168 | |
|---|
| | 169 | ShipFleet fleet = (ShipFleet)db.get(ShipFleet.class, 2); |
|---|
| | 170 | assertThat(fleet, nullValue()); |
|---|
| | 171 | |
|---|
| | 172 | ship = (Ship)db.get(Ship.class, 5); |
|---|
| | 173 | assertThat(ship.getFleet(), nullValue()); |
|---|
| | 174 | } |
|---|