if (!Arrays.deepEquals(container.env, containerDescription.env)) { containerDiff.diffs.add( new ContainerPropertyDiff<>(ContainerDescription.FIELD_NAME_ENV, ContainerState.FIELD_NAME_ENV, containerDescription.env, container.env)); containerDiff.diffs.add(new ContainerPropertyDiff(null, ContainerState.FIELD_NAME_POWER_STATE, PowerState.RUNNING, PowerState.ERROR));
@Test public void testDiff() throws Throwable { ContainerDescription containerDescription = TestRequestStateFactory .createContainerDescription(); ContainerState containerState = TestRequestStateFactory.createContainer(); containerState.powerState = PowerState.ERROR; containerState.env = new String[]{"a=b"}; List<ContainerDiff> containerDiffs = ContainerDiff.inspect(containerDescription, Lists .newArrayList(containerState)); assertEquals(1, containerDiffs.size()); assertEquals(2, containerDiffs.get(0).diffs.size()); ContainerPropertyDiff envDiff = new ContainerPropertyDiff<>(ContainerDescription .FIELD_NAME_ENV, ContainerState.FIELD_NAME_ENV, containerDescription.env, containerState.env); ContainerPropertyDiff stateDiff = new ContainerPropertyDiff(null, ContainerState .FIELD_NAME_POWER_STATE, PowerState.RUNNING, PowerState.ERROR); assertTrue(containerDiffs.get(0).diffs.contains(envDiff)); assertTrue(containerDiffs.get(0).diffs.contains(stateDiff)); }
@Test public void testEquals() { ContainerPropertyDiff envDiff = new ContainerPropertyDiff<>(ContainerDescription .FIELD_NAME_ENV, ContainerState.FIELD_NAME_ENV, new String[]{"a=b"}, new String[]{"c=d"}); ContainerPropertyDiff envDiff2 = new ContainerPropertyDiff<>(ContainerDescription .FIELD_NAME_ENV, ContainerState.FIELD_NAME_ENV, new String[]{"a=b"}, new String[]{"c=d"}); assertTrue(Arrays.equals(new String[]{"a=b"}, new String[]{"a=b"})); assertTrue(envDiff.equals(envDiff2)); assertEquals(envDiff, envDiff2); System.out.println(envDiff.hashCode()); System.out.println(envDiff2.hashCode()); assertTrue(envDiff.hashCode() == envDiff2.hashCode()); } }