BAEL-3859 Add type to employeeNode and fix order of parameters in assertEquals method calls.

This commit is contained in:
Florin Hriscu 2020-03-13 22:46:41 +02:00
parent 205ee99874
commit f7ae209537

View File

@ -6,8 +6,6 @@ import org.junit.jupiter.api.Test;
public class AtomicMarkableReferenceUnitTest { public class AtomicMarkableReferenceUnitTest {
private AtomicMarkableReference<Employee> employeeNode;
class Employee { class Employee {
private int id; private int id;
private String name; private String name;
@ -31,19 +29,19 @@ public class AtomicMarkableReferenceUnitTest {
public void setName(String name) { public void setName(String name) {
this.name = name; this.name = name;
} }
} }
@Test @Test
void givenMarkValueAsTrue_whenUsingIsMarkedMethod_thenMarkValueShouldBeTrue() { void givenMarkValueAsTrue_whenUsingIsMarkedMethod_thenMarkValueShouldBeTrue() {
employeeNode = new AtomicMarkableReference<Employee>(new Employee(123, "Mike"), true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(new Employee(123, "Mike"), true);
Assertions.assertTrue(employeeNode.isMarked()); Assertions.assertTrue(employeeNode.isMarked());
} }
@Test @Test
void givenMarkValueAsFalse_whenUsingIsMarkedMethod_thenMarkValueShouldBeFalse() { void givenMarkValueAsFalse_whenUsingIsMarkedMethod_thenMarkValueShouldBeFalse() {
employeeNode = new AtomicMarkableReference<Employee>(new Employee(123, "Mike"), false); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(new Employee(123, "Mike"), false);
Assertions.assertFalse(employeeNode.isMarked()); Assertions.assertFalse(employeeNode.isMarked());
} }
@ -51,39 +49,39 @@ public class AtomicMarkableReferenceUnitTest {
@Test @Test
void whenUsingGetReferenceMethod_thenCurrentReferenceShouldBeReturned() { void whenUsingGetReferenceMethod_thenCurrentReferenceShouldBeReturned() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, false); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, false);
Assertions.assertEquals(employeeNode.getReference(), employee); Assertions.assertEquals(employee, employeeNode.getReference());
} }
@Test @Test
void whenUsingGetMethod_thenCurrentReferenceAndMarkShouldBeReturned() { void whenUsingGetMethod_thenCurrentReferenceAndMarkShouldBeReturned() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
boolean[] markHolder = new boolean[1]; boolean[] markHolder = new boolean[1];
Employee currentEmployee = employeeNode.get(markHolder); Employee currentEmployee = employeeNode.get(markHolder);
Assertions.assertEquals(currentEmployee, employee); Assertions.assertEquals(employee, currentEmployee);
Assertions.assertTrue(markHolder[0]); Assertions.assertTrue(markHolder[0]);
} }
@Test @Test
void givenNewReferenceAndMark_whenUsingSetMethod_thenCurrentReferenceAndMarkShouldBeUpdated() { void givenNewReferenceAndMark_whenUsingSetMethod_thenCurrentReferenceAndMarkShouldBeUpdated() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
Employee newEmployee = new Employee(124, "John"); Employee newEmployee = new Employee(124, "John");
employeeNode.set(newEmployee, false); employeeNode.set(newEmployee, false);
Assertions.assertEquals(employeeNode.getReference(), newEmployee); Assertions.assertEquals(newEmployee, employeeNode.getReference());
Assertions.assertFalse(employeeNode.isMarked()); Assertions.assertFalse(employeeNode.isMarked());
} }
@Test @Test
void givenTheSameObjectReference_whenUsingAttemptMarkMethod_thenMarkShouldBeUpdated() { void givenTheSameObjectReference_whenUsingAttemptMarkMethod_thenMarkShouldBeUpdated() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
Assertions.assertTrue(employeeNode.attemptMark(employee, false)); Assertions.assertTrue(employeeNode.attemptMark(employee, false));
Assertions.assertFalse(employeeNode.isMarked()); Assertions.assertFalse(employeeNode.isMarked());
@ -93,7 +91,7 @@ public class AtomicMarkableReferenceUnitTest {
void givenDifferentObjectReference_whenUsingAttemptMarkMethod_thenMarkShouldNotBeUpdated() { void givenDifferentObjectReference_whenUsingAttemptMarkMethod_thenMarkShouldNotBeUpdated() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
Employee expectedEmployee = new Employee(123, "Mike"); Employee expectedEmployee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
Assertions.assertFalse(employeeNode.attemptMark(expectedEmployee, false)); Assertions.assertFalse(employeeNode.attemptMark(expectedEmployee, false));
Assertions.assertTrue(employeeNode.isMarked()); Assertions.assertTrue(employeeNode.isMarked());
@ -102,88 +100,88 @@ public class AtomicMarkableReferenceUnitTest {
@Test @Test
void givenCurrentReferenceAndCurrentMark_whenUsingCompareAndSet_thenReferenceAndMarkShouldBeUpdated() { void givenCurrentReferenceAndCurrentMark_whenUsingCompareAndSet_thenReferenceAndMarkShouldBeUpdated() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
Employee newEmployee = new Employee(124, "John"); Employee newEmployee = new Employee(124, "John");
Assertions.assertTrue(employeeNode.compareAndSet(employee, newEmployee, true, false)); Assertions.assertTrue(employeeNode.compareAndSet(employee, newEmployee, true, false));
Assertions.assertEquals(employeeNode.getReference(), newEmployee); Assertions.assertEquals(newEmployee, employeeNode.getReference());
Assertions.assertFalse(employeeNode.isMarked()); Assertions.assertFalse(employeeNode.isMarked());
} }
@Test @Test
void givenNotCurrentReferenceAndCurrentMark_whenUsingCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() { void givenNotCurrentReferenceAndCurrentMark_whenUsingCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
Employee newEmployee = new Employee(124, "John"); Employee newEmployee = new Employee(124, "John");
Assertions.assertFalse(employeeNode.compareAndSet(new Employee(1234, "Steve"), newEmployee, true, false)); Assertions.assertFalse(employeeNode.compareAndSet(new Employee(1234, "Steve"), newEmployee, true, false));
Assertions.assertEquals(employeeNode.getReference(), employee); Assertions.assertEquals(employee, employeeNode.getReference());
Assertions.assertTrue(employeeNode.isMarked()); Assertions.assertTrue(employeeNode.isMarked());
} }
@Test @Test
void givenCurrentReferenceAndNotCurrentMark_whenUsingCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() { void givenCurrentReferenceAndNotCurrentMark_whenUsingCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
Employee newEmployee = new Employee(124, "John"); Employee newEmployee = new Employee(124, "John");
Assertions.assertFalse(employeeNode.compareAndSet(employee, newEmployee, false, true)); Assertions.assertFalse(employeeNode.compareAndSet(employee, newEmployee, false, true));
Assertions.assertEquals(employeeNode.getReference(), employee); Assertions.assertEquals(employee, employeeNode.getReference());
Assertions.assertTrue(employeeNode.isMarked()); Assertions.assertTrue(employeeNode.isMarked());
} }
@Test @Test
void givenNotCurrentReferenceAndNotCurrentMark_whenUsingCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() { void givenNotCurrentReferenceAndNotCurrentMark_whenUsingCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
Employee newEmployee = new Employee(124, "John"); Employee newEmployee = new Employee(124, "John");
Assertions.assertFalse(employeeNode.compareAndSet(new Employee(1234, "Steve"), newEmployee, false, true)); Assertions.assertFalse(employeeNode.compareAndSet(new Employee(1234, "Steve"), newEmployee, false, true));
Assertions.assertEquals(employeeNode.getReference(), employee); Assertions.assertEquals(employee, employeeNode.getReference());
Assertions.assertTrue(employeeNode.isMarked()); Assertions.assertTrue(employeeNode.isMarked());
} }
@Test @Test
void givenCurrentReferenceAndCurrentMark_whenUsingWeakCompareAndSet_thenReferenceAndMarkShouldBeUpdated() { void givenCurrentReferenceAndCurrentMark_whenUsingWeakCompareAndSet_thenReferenceAndMarkShouldBeUpdated() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
Employee newEmployee = new Employee(124, "John"); Employee newEmployee = new Employee(124, "John");
Assertions.assertTrue(employeeNode.weakCompareAndSet(employee, newEmployee, true, false)); Assertions.assertTrue(employeeNode.weakCompareAndSet(employee, newEmployee, true, false));
Assertions.assertEquals(employeeNode.getReference(), newEmployee); Assertions.assertEquals(newEmployee, employeeNode.getReference());
Assertions.assertFalse(employeeNode.isMarked()); Assertions.assertFalse(employeeNode.isMarked());
} }
@Test @Test
void givenNotCurrentReferenceAndCurrentMark_whenUsingWeakCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() { void givenNotCurrentReferenceAndCurrentMark_whenUsingWeakCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() {
Employee expectedEmployee = new Employee(123, "Mike"); Employee expectedEmployee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(expectedEmployee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(expectedEmployee, true);
Employee newEmployee = new Employee(124, "John"); Employee newEmployee = new Employee(124, "John");
Assertions.assertFalse(employeeNode.weakCompareAndSet(new Employee(1234, "Steve"), newEmployee, true, false)); Assertions.assertFalse(employeeNode.weakCompareAndSet(new Employee(1234, "Steve"), newEmployee, true, false));
Assertions.assertEquals(employeeNode.getReference(), expectedEmployee); Assertions.assertEquals(expectedEmployee, employeeNode.getReference());
Assertions.assertTrue(employeeNode.isMarked()); Assertions.assertTrue(employeeNode.isMarked());
} }
@Test @Test
void givenCurrentReferenceAndNotCurrentMark_whenUsingWeakCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() { void givenCurrentReferenceAndNotCurrentMark_whenUsingWeakCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() {
Employee expectedEmployee = new Employee(123, "Mike"); Employee expectedEmployee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(expectedEmployee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(expectedEmployee, true);
Employee newEmployee = new Employee(124, "John"); Employee newEmployee = new Employee(124, "John");
Assertions.assertFalse(employeeNode.weakCompareAndSet(expectedEmployee, newEmployee, false, true)); Assertions.assertFalse(employeeNode.weakCompareAndSet(expectedEmployee, newEmployee, false, true));
Assertions.assertEquals(employeeNode.getReference(), expectedEmployee); Assertions.assertEquals(expectedEmployee, employeeNode.getReference());
Assertions.assertTrue(employeeNode.isMarked()); Assertions.assertTrue(employeeNode.isMarked());
} }
@Test @Test
void givenNotCurrentReferenceAndNotCurrentMark_whenUsingWeakCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() { void givenNotCurrentReferenceAndNotCurrentMark_whenUsingWeakCompareAndSet_thenReferenceAndMarkShouldNotBeUpdated() {
Employee employee = new Employee(123, "Mike"); Employee employee = new Employee(123, "Mike");
employeeNode = new AtomicMarkableReference<Employee>(employee, true); AtomicMarkableReference<Employee> employeeNode = new AtomicMarkableReference<Employee>(employee, true);
Employee newEmployee = new Employee(124, "John"); Employee newEmployee = new Employee(124, "John");
Assertions.assertFalse(employeeNode.weakCompareAndSet(new Employee(1234, "Steve"), newEmployee, false, true)); Assertions.assertFalse(employeeNode.weakCompareAndSet(new Employee(1234, "Steve"), newEmployee, false, true));
Assertions.assertEquals(employeeNode.getReference(), employee); Assertions.assertEquals(employee, employeeNode.getReference());
Assertions.assertTrue(employeeNode.isMarked()); Assertions.assertTrue(employeeNode.isMarked());
} }
} }