Merge pull request #7522 from dupirefr/bael-3117
dupirefr/dupire.francois+pro@gmail.com [BAEL-3117] The XOR Operator in Java
This commit is contained in:
commit
c709251eeb
@ -0,0 +1,36 @@
|
|||||||
|
package com.baeldung.booleanoperators;
|
||||||
|
|
||||||
|
public class Car {
|
||||||
|
|
||||||
|
private boolean diesel;
|
||||||
|
private boolean manual;
|
||||||
|
|
||||||
|
public Car(boolean diesel, boolean manual) {
|
||||||
|
this.diesel = diesel;
|
||||||
|
this.manual = manual;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDiesel() {
|
||||||
|
return diesel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isManual() {
|
||||||
|
return manual;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Car dieselAndManualCar() {
|
||||||
|
return new Car(true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Car dieselAndAutomaticCar() {
|
||||||
|
return new Car(true, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Car oilAndManualCar() {
|
||||||
|
return new Car(false, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Car oilAndAutomaticCar() {
|
||||||
|
return new Car(false, false);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,69 @@
|
|||||||
|
package com.baeldung.booleanoperators;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
class XorUnitTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenDieselManualCar_whenXorOldSchool_thenFalse() {
|
||||||
|
Car car = Car.dieselAndManualCar();
|
||||||
|
boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual());
|
||||||
|
assertThat(dieselXorManual).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenDieselAutomaticCar_whenXorOldSchool_thenTrue() {
|
||||||
|
Car car = Car.dieselAndAutomaticCar();
|
||||||
|
boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual());
|
||||||
|
assertThat(dieselXorManual).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenNonDieselManualCar_whenXorOldSchool_thenTrue() {
|
||||||
|
Car car = Car.oilAndManualCar();
|
||||||
|
boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual());
|
||||||
|
assertThat(dieselXorManual).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenNonDieselAutomaticCar_whenXorOldSchool_thenFalse() {
|
||||||
|
Car car = Car.oilAndAutomaticCar();
|
||||||
|
boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual());
|
||||||
|
assertThat(dieselXorManual).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenDieselManualCar_whenXor_thenFalse() {
|
||||||
|
Car car = Car.dieselAndManualCar();
|
||||||
|
boolean dieselXorManual = car.isDiesel() ^ car.isManual();
|
||||||
|
assertThat(dieselXorManual).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenDieselAutomaticCar_whenXor_thenTrue() {
|
||||||
|
Car car = Car.dieselAndAutomaticCar();
|
||||||
|
boolean dieselXorManual = car.isDiesel() ^ car.isManual();
|
||||||
|
assertThat(dieselXorManual).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenNonDieselManualCar_whenXor_thenTrue() {
|
||||||
|
Car car = Car.oilAndManualCar();
|
||||||
|
boolean dieselXorManual = car.isDiesel() ^ car.isManual();
|
||||||
|
assertThat(dieselXorManual).isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenNonDieselAutomaticCar_whenXor_thenFalse() {
|
||||||
|
Car car = Car.oilAndAutomaticCar();
|
||||||
|
boolean dieselXorManual = car.isDiesel() ^ car.isManual();
|
||||||
|
assertThat(dieselXorManual).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenNumbersOneAndThree_whenXor_thenTwo() {
|
||||||
|
assertThat(1 ^ 3).isEqualTo(2);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user