@Test public void testCoderIsDeterministic() throws Exception { CoderProperties.coderDeterministic( GlobalWindow.Coder.INSTANCE, GlobalWindow.INSTANCE, GlobalWindow.INSTANCE); } }
@Test public void testDeterministic() throws Exception, NonDeterministicException { uriCoder.verifyDeterministic(); for (String uriString : TEST_URI_STRINGS) { CoderProperties.coderDeterministic(uriCoder, new URI(uriString), new URI(uriString)); } }
@Test public void testGoodCoderIsDeterministic() throws Exception { CoderProperties.coderDeterministic(StringUtf8Coder.of(), "TestData", "TestData"); }
@Test public void testDeterministic() throws Exception { for (Set<Integer> value : TEST_VALUES) { CoderProperties.coderDeterministic(TEST_CODER, value, Sets.newHashSet(value)); } }
@Test public void testBadCoderIsNotDeterministic() throws Exception { AssertionError error = null; try { CoderProperties.coderDeterministic(new BadDeterminsticCoder(), "TestData", "TestData"); } catch (AssertionError e) { error = e; } assertNotNull("Expected AssertionError", error); assertThat(error.getMessage(), CoreMatchers.containsString("<84>, <101>, <115>, <116>, <68>")); }
@Test public void testPassingInNonEqualValuesWithDeterministicCoder() throws Exception { AssertionError error = null; try { CoderProperties.coderDeterministic(StringUtf8Coder.of(), "AAA", "BBB"); } catch (AssertionError e) { error = e; } assertNotNull("Expected AssertionError", error); assertThat( error.getMessage(), CoreMatchers.containsString("Expected that the passed in values")); }
@Test public void testNonDeterministicCoder() throws Exception { try { CoderProperties.coderDeterministic(new NonDeterministicCoder(), "TestData", "TestData"); } catch (AssertionError error) { assertThat( error.getMessage(), CoreMatchers.containsString("Expected that the coder is deterministic")); // success! return; } fail("Expected AssertionError"); }
@Test public void testTimerCoderWithConsistentWithEqualsPayloadCoder() throws Exception { Coder<Timer<String>> coder = Timer.Coder.of(StringUtf8Coder.of()); CoderProperties.coderDecodeEncodeEqual(coder, Timer.of(INSTANT, "ABC")); CoderProperties.coderConsistentWithEquals( coder, Timer.of(INSTANT, "ABC"), Timer.of(INSTANT, "ABC")); CoderProperties.coderDeterministic(coder, Timer.of(INSTANT, "ABC"), Timer.of(INSTANT, "ABC")); }
@Test public void testCoder() throws Exception { RandomAccessData streamA = new RandomAccessData(); streamA.asOutputStream().write(TEST_DATA_A); RandomAccessData streamB = new RandomAccessData(); streamB.asOutputStream().write(TEST_DATA_A); CoderProperties.coderDecodeEncodeEqual(RandomAccessDataCoder.of(), streamA); CoderProperties.coderDeterministic(RandomAccessDataCoder.of(), streamA, streamB); CoderProperties.coderConsistentWithEquals(RandomAccessDataCoder.of(), streamA, streamB); CoderProperties.coderSerializable(RandomAccessDataCoder.of()); CoderProperties.structuralValueConsistentWithEquals( RandomAccessDataCoder.of(), streamA, streamB); assertTrue(RandomAccessDataCoder.of().isRegisterByteSizeObserverCheap(streamA)); assertEquals(4, RandomAccessDataCoder.of().getEncodedElementByteSize(streamA)); }