AdsStampHeader implements ByteReadable { public static AdsStampHeader of(TimeStamp timeStamp, Samples samples, List<AdsNotificationSample> adsNotificationSamples) { return new AdsStampHeader(timeStamp, samples, adsNotificationSamples); } private  AdsStampHeader(TimeStamp timeStamp, Samples samples, List<AdsNotificationSample> adsNotificationSamples); private  AdsStampHeader(TimeStamp timeStamp, List<AdsNotificationSample> adsNotificationSamples); static AdsStampHeader of(TimeStamp timeStamp, Samples samples, List<AdsNotificationSample> adsNotificationSamples); static AdsStampHeader of(TimeStamp timeStamp, List<AdsNotificationSample> adsNotificationSamples); @Override ByteBuf getByteBuf(); TimeStamp getTimeStamp(); Samples getSamples(); List<AdsNotificationSample> getAdsNotificationSamples(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public void sizeCalculation() { AdsStampHeader adsStampHeader1 = AdsStampHeader.of(TimeStamp.of(13), Arrays.asList(AdsNotificationSample.of(NotificationHandle.of(13), Data.of("Hello World!")), AdsNotificationSample.of(NotificationHandle.of(14), Data.of("Hello World!")))); AdsStampHeader adsStampHeader2 = AdsStampHeader.of(TimeStamp.of(13), Samples.of(2), Arrays.asList(AdsNotificationSample.of(NotificationHandle.of(13), Data.of("Hello World!")), AdsNotificationSample.of(NotificationHandle.of(14), Data.of("Hello World!")))); assertEquals(adsStampHeader1, adsStampHeader2); }