How to use writeReplace method of org.assertj.core.test.jdk11.ImmutableCollections class

Best Assertj code snippet using org.assertj.core.test.jdk11.ImmutableCollections.writeReplace

Source:ImmutableCollections.java Github

copy

Full Screen

...368 }369 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {370 throw new InvalidObjectException("not serial proxy");371 }372 private Object writeReplace() {373 if (e1 == null) {374 return new CollSer(CollSer.IMM_LIST, e0);375 } else {376 return new CollSer(CollSer.IMM_LIST, e0, e1);377 }378 }379 }380 static final class ListN<E> extends AbstractImmutableList<E>381 implements Serializable {382 // EMPTY_LIST may be initialized from the CDS archive.383 static List<?> EMPTY_LIST;384 static {385 // VM.initializeFromArchive(ListN.class);386 if (EMPTY_LIST == null) {387 EMPTY_LIST = new ListN<>();388 }389 }390 private final E[] elements;391 @SafeVarargs392 ListN(E... input) {393 // copy and check manually to avoid TOCTOU394 @SuppressWarnings("unchecked")395 E[] tmp = (E[]) new Object[input.length]; // implicit nullcheck of input396 for (int i = 0; i < input.length; i++) {397 tmp[i] = Objects.requireNonNull(input[i]);398 }399 elements = tmp;400 }401 @Override402 public boolean isEmpty() {403 return size() == 0;404 }405 @Override406 public int size() {407 return elements.length;408 }409 @Override410 public E get(int index) {411 return elements[index];412 }413 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {414 throw new InvalidObjectException("not serial proxy");415 }416 private Object writeReplace() {417 return new CollSer(CollSer.IMM_LIST, elements);418 }419 }420 // ---------- Set Implementations ----------421 static abstract class AbstractImmutableSet<E> extends AbstractImmutableCollection<E>422 implements Set<E> {423 @Override424 public boolean equals(Object o) {425 if (o == this) {426 return true;427 } else if (!(o instanceof Set)) {428 return false;429 }430 Collection<?> c = (Collection<?>) o;431 if (c.size() != size()) {432 return false;433 }434 for (Object e : c) {435 if (e == null || !contains(e)) {436 return false;437 }438 }439 return true;440 }441 @Override442 public abstract int hashCode();443 }444 @SuppressWarnings("unchecked")445 static <E> Set<E> emptySet() {446 return (Set<E>) SetN.EMPTY_SET;447 }448 static final class Set12<E> extends AbstractImmutableSet<E>449 implements Serializable {450 final E e0;451 final E e1;452 Set12(E e0) {453 this.e0 = Objects.requireNonNull(e0);454 this.e1 = null;455 }456 Set12(E e0, E e1) {457 if (e0.equals(Objects.requireNonNull(e1))) { // implicit nullcheck of e0458 throw new IllegalArgumentException("duplicate element: " + e0);459 }460 this.e0 = e0;461 this.e1 = e1;462 }463 @Override464 public int size() {465 return (e1 == null) ? 1 : 2;466 }467 @Override468 public boolean contains(Object o) {469 return o.equals(e0) || o.equals(e1); // implicit nullcheck of o470 }471 @Override472 public int hashCode() {473 return e0.hashCode() + (e1 == null ? 0 : e1.hashCode());474 }475 @Override476 public Iterator<E> iterator() {477 return new Iterator<E>() {478 private int idx = size();479 @Override480 public boolean hasNext() {481 return idx > 0;482 }483 @Override484 public E next() {485 if (idx == 1) {486 idx = 0;487 return SALT >= 0 || e1 == null ? e0 : e1;488 } else if (idx == 2) {489 idx = 1;490 return SALT >= 0 ? e1 : e0;491 } else {492 throw new NoSuchElementException();493 }494 }495 };496 }497 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {498 throw new InvalidObjectException("not serial proxy");499 }500 private Object writeReplace() {501 if (e1 == null) {502 return new CollSer(CollSer.IMM_SET, e0);503 } else {504 return new CollSer(CollSer.IMM_SET, e0, e1);505 }506 }507 }508 /**509 * An array-based Set implementation. The element array must be strictly510 * larger than the size (the number of contained elements) so that at511 * least one null is always present.512 * @param <E> the element type513 */514 static final class SetN<E> extends AbstractImmutableSet<E>515 implements Serializable {516 // EMPTY_SET may be initialized from the CDS archive.517 static Set<?> EMPTY_SET;518 static {519 // VM.initializeFromArchive(SetN.class);520 if (EMPTY_SET == null) {521 EMPTY_SET = new SetN<>();522 }523 }524 final E[] elements;525 final int size;526 @SafeVarargs527 @SuppressWarnings("unchecked")528 SetN(E... input) {529 size = input.length; // implicit nullcheck of input530 elements = (E[]) new Object[EXPAND_FACTOR * input.length];531 for (int i = 0; i < input.length; i++) {532 E e = input[i];533 int idx = probe(e); // implicit nullcheck of e534 if (idx >= 0) {535 throw new IllegalArgumentException("duplicate element: " + e);536 } else {537 elements[-(idx + 1)] = e;538 }539 }540 }541 @Override542 public int size() {543 return size;544 }545 @Override546 public boolean contains(Object o) {547 Objects.requireNonNull(o);548 return size > 0 && probe(o) >= 0;549 }550 private final class SetNIterator implements Iterator<E> {551 private int remaining;552 private int idx;553 SetNIterator() {554 remaining = size();555 if (remaining > 0) {556 idx = Math.floorMod(SALT, elements.length);557 }558 }559 @Override560 public boolean hasNext() {561 return remaining > 0;562 }563 private int nextIndex() {564 int idx = this.idx;565 if (SALT >= 0) {566 if (++idx >= elements.length) {567 idx = 0;568 }569 } else {570 if (--idx < 0) {571 idx = elements.length - 1;572 }573 }574 return this.idx = idx;575 }576 @Override577 public E next() {578 if (hasNext()) {579 E element;580 // skip null elements581 while ((element = elements[nextIndex()]) == null) {}582 remaining--;583 return element;584 } else {585 throw new NoSuchElementException();586 }587 }588 }589 @Override590 public Iterator<E> iterator() {591 return new SetN<E>.SetNIterator();592 }593 @Override594 public int hashCode() {595 int h = 0;596 for (E e : elements) {597 if (e != null) {598 h += e.hashCode();599 }600 }601 return h;602 }603 // returns index at which element is present; or if absent,604 // (-i - 1) where i is location where element should be inserted.605 // Callers are relying on this method to perform an implicit nullcheck606 // of pe607 private int probe(Object pe) {608 int idx = Math.floorMod(pe.hashCode(), elements.length);609 while (true) {610 E ee = elements[idx];611 if (ee == null) {612 return -idx - 1;613 } else if (pe.equals(ee)) {614 return idx;615 } else if (++idx == elements.length) {616 idx = 0;617 }618 }619 }620 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {621 throw new InvalidObjectException("not serial proxy");622 }623 private Object writeReplace() {624 Object[] array = new Object[size];625 int dest = 0;626 for (Object o : elements) {627 if (o != null) {628 array[dest++] = o;629 }630 }631 return new CollSer(CollSer.IMM_SET, array);632 }633 }634 // ---------- Map Implementations ----------635 @SuppressWarnings("unchecked")636 static <K, V> Map<K, V> emptyMap() {637 return (Map<K, V>) MapN.EMPTY_MAP;638 }639 abstract static class AbstractImmutableMap<K, V> extends AbstractMap<K, V> implements Serializable {640 @Override641 public void clear() {642 throw uoe();643 }644 @Override645 public V compute(K key, BiFunction<? super K, ? super V, ? extends V> rf) {646 throw uoe();647 }648 @Override649 public V computeIfAbsent(K key, Function<? super K, ? extends V> mf) {650 throw uoe();651 }652 @Override653 public V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> rf) {654 throw uoe();655 }656 @Override657 public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> rf) {658 throw uoe();659 }660 @Override661 public V put(K key, V value) {662 throw uoe();663 }664 @Override665 public void putAll(Map<? extends K, ? extends V> m) {666 throw uoe();667 }668 @Override669 public V putIfAbsent(K key, V value) {670 throw uoe();671 }672 @Override673 public V remove(Object key) {674 throw uoe();675 }676 @Override677 public boolean remove(Object key, Object value) {678 throw uoe();679 }680 @Override681 public V replace(K key, V value) {682 throw uoe();683 }684 @Override685 public boolean replace(K key, V oldValue, V newValue) {686 throw uoe();687 }688 @Override689 public void replaceAll(BiFunction<? super K, ? super V, ? extends V> f) {690 throw uoe();691 }692 }693 static final class Map1<K, V> extends AbstractImmutableMap<K, V> {694 private final K k0;695 private final V v0;696 Map1(K k0, V v0) {697 this.k0 = Objects.requireNonNull(k0);698 this.v0 = Objects.requireNonNull(v0);699 }700 @Override701 public Set<Map.Entry<K, V>> entrySet() {702 return Jdk11.Set.of(new KeyValueHolder<>(k0, v0));703 }704 @Override705 public V get(Object o) {706 return o.equals(k0) ? v0 : null; // implicit nullcheck of o707 }708 @Override709 public boolean containsKey(Object o) {710 return o.equals(k0); // implicit nullcheck of o711 }712 @Override713 public boolean containsValue(Object o) {714 return o.equals(v0); // implicit nullcheck of o715 }716 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {717 throw new InvalidObjectException("not serial proxy");718 }719 private Object writeReplace() {720 return new CollSer(CollSer.IMM_MAP, k0, v0);721 }722 @Override723 public int hashCode() {724 return k0.hashCode() ^ v0.hashCode();725 }726 }727 /**728 * An array-based Map implementation. There is a single array "table" that729 * contains keys and values interleaved: table[0] is kA, table[1] is vA,730 * table[2] is kB, table[3] is vB, etc. The table size must be even. It must731 * also be strictly larger than the size (the number of key-value pairs contained732 * in the map) so that at least one null key is always present.733 * @param <K> the key type734 * @param <V> the value type735 */736 static final class MapN<K, V> extends AbstractImmutableMap<K, V> {737 // EMPTY_MAP may be initialized from the CDS archive.738 static Map<?, ?> EMPTY_MAP;739 static {740 // VM.initializeFromArchive(MapN.class);741 EMPTY_MAP = new MapN<>();742 }743 final Object[] table; // pairs of key, value744 final int size; // number of pairs745 MapN(Object... input) {746 if ((input.length & 1) != 0) { // implicit nullcheck of input747 throw new InternalError("length is odd");748 }749 size = input.length >> 1;750 int len = EXPAND_FACTOR * input.length;751 len = (len + 1) & ~1; // ensure table is even length752 table = new Object[len];753 for (int i = 0; i < input.length; i += 2) {754 @SuppressWarnings("unchecked")755 K k = Objects.requireNonNull((K) input[i]);756 @SuppressWarnings("unchecked")757 V v = Objects.requireNonNull((V) input[i + 1]);758 int idx = probe(k);759 if (idx >= 0) {760 throw new IllegalArgumentException("duplicate key: " + k);761 } else {762 int dest = -(idx + 1);763 table[dest] = k;764 table[dest + 1] = v;765 }766 }767 }768 @Override769 public boolean containsKey(Object o) {770 Objects.requireNonNull(o);771 return size > 0 && probe(o) >= 0;772 }773 @Override774 public boolean containsValue(Object o) {775 Objects.requireNonNull(o);776 for (int i = 1; i < table.length; i += 2) {777 Object v = table[i];778 if (v != null && o.equals(v)) {779 return true;780 }781 }782 return false;783 }784 @Override785 public int hashCode() {786 int hash = 0;787 for (int i = 0; i < table.length; i += 2) {788 Object k = table[i];789 if (k != null) {790 hash += k.hashCode() ^ table[i + 1].hashCode();791 }792 }793 return hash;794 }795 @Override796 @SuppressWarnings("unchecked")797 public V get(Object o) {798 if (size == 0) {799 Objects.requireNonNull(o);800 return null;801 }802 int i = probe(o);803 if (i >= 0) {804 return (V) table[i + 1];805 } else {806 return null;807 }808 }809 @Override810 public int size() {811 return size;812 }813 class MapNIterator implements Iterator<Map.Entry<K, V>> {814 private int remaining;815 private int idx;816 MapNIterator() {817 remaining = size();818 if (remaining > 0) {819 idx = Math.floorMod(SALT, table.length >> 1) << 1;820 }821 }822 @Override823 public boolean hasNext() {824 return remaining > 0;825 }826 private int nextIndex() {827 int idx = this.idx;828 if (SALT >= 0) {829 if ((idx += 2) >= table.length) {830 idx = 0;831 }832 } else {833 if ((idx -= 2) < 0) {834 idx = table.length - 2;835 }836 }837 return this.idx = idx;838 }839 @Override840 public Map.Entry<K, V> next() {841 if (hasNext()) {842 while (table[nextIndex()] == null) {}843 @SuppressWarnings("unchecked")844 Map.Entry<K, V> e = new KeyValueHolder<>((K) table[idx], (V) table[idx + 1]);845 remaining--;846 return e;847 } else {848 throw new NoSuchElementException();849 }850 }851 }852 @Override853 public Set<Map.Entry<K, V>> entrySet() {854 return new AbstractSet<Map.Entry<K, V>>() {855 @Override856 public int size() {857 return MapN.this.size;858 }859 @Override860 public Iterator<Map.Entry<K, V>> iterator() {861 return new MapNIterator();862 }863 };864 }865 // returns index at which the probe key is present; or if absent,866 // (-i - 1) where i is location where element should be inserted.867 // Callers are relying on this method to perform an implicit nullcheck868 // of pk.869 private int probe(Object pk) {870 int idx = Math.floorMod(pk.hashCode(), table.length >> 1) << 1;871 while (true) {872 @SuppressWarnings("unchecked")873 K ek = (K) table[idx];874 if (ek == null) {875 return -idx - 1;876 } else if (pk.equals(ek)) {877 return idx;878 } else if ((idx += 2) == table.length) {879 idx = 0;880 }881 }882 }883 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {884 throw new InvalidObjectException("not serial proxy");885 }886 private Object writeReplace() {887 Object[] array = new Object[2 * size];888 int len = table.length;889 int dest = 0;890 for (int i = 0; i < len; i += 2) {891 if (table[i] != null) {892 array[dest++] = table[i];893 array[dest++] = table[i + 1];894 }895 }896 return new CollSer(CollSer.IMM_MAP, array);897 }898 }899}900// ---------- Serialization Proxy ----------...

Full Screen

Full Screen

writeReplace

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.test.jdk11.ImmutableCollections;2public class ImmutableCollectionsTest {3 public static void main(String[] args) {4 ImmutableCollections imm = new ImmutableCollections();5 imm.writeReplace();6 }7}8 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)9 at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)10 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)11 at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)12 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)13 at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)14 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)15 at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)16 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)17 at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)18 at ImmutableCollectionsTest.main(ImmutableCollectionsTest.java:10)19import org.assertj.core.test.jdk11.ImmutableCollections;20public class ImmutableCollectionsTest {21 public static void main(String[] args) {22 ImmutableCollections imm = new ImmutableCollections();23 imm.writeReplace();24 }25}26 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)27 at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)28 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)29 at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)30 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)31 at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)32 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)33 at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)34 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)35 at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)36 at ImmutableCollectionsTest.main(ImmutableCollectionsTest.java:10)

Full Screen

Full Screen

writeReplace

Using AI Code Generation

copy

Full Screen

1public class ImmutableCollectionsTest extends AbstractAssertJTest {2 public void should_serialize_and_deserialize_ImmutableCollections() throws IOException, ClassNotFoundException {3 ImmutableCollections immutableCollections = new ImmutableCollections();4 ByteArrayOutputStream out = new ByteArrayOutputStream();5 ObjectOutputStream objectOutputStream = new ObjectOutputStream(out);6 objectOutputStream.writeObject(immutableCollections);7 objectOutputStream.close();8 byte[] bytes = out.toByteArray();9 ByteArrayInputStream in = new ByteArrayInputStream(bytes);10 ObjectInputStream objectInputStream = new ObjectInputStream(in);11 ImmutableCollections actual = (ImmutableCollections) objectInputStream.readObject();12 assertThat(actual).isNotNull();13 }14}15package org.assertj.core.test.jdk11;16import java.io.IOException;17import java.io.ObjectInputStream;18import java.io.ObjectOutputStream;19import java.io.Serializable;20import java.util.Arrays;21import java.util.Collections;22import java.util.List;23import java.util.Map;24import java.util.Set;25public class ImmutableCollections implements Serializable {26 private static final long serialVersionUID = 1L;27 private final List<String> list;28 private final Set<String> set;29 private final Map<String, String> map;30 public ImmutableCollections() {31 list = Collections.unmodifiableList(Arrays.asList("foo", "bar"));32 set = Collections.unmodifiableSet(Set.of("foo", "bar"));33 map = Collections.unmodifiableMap(Map.of("foo", "bar"));34 }35 private void writeObject(ObjectOutputStream out) throws IOException {36 out.defaultWriteObject();37 }38 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {39 in.defaultReadObject();40 }41 private Object writeReplace() {42 return new ImmutableCollectionsSerializationProxy(list, set, map);43 }44 private Object readResolve() {45 return new ImmutableCollectionsSerializationProxy(list, set, map);46 }47 private static class ImmutableCollectionsSerializationProxy implements Serializable {48 private static final long serialVersionUID = 1L;49 private final List<String> list;50 private final Set<String> set;51 private final Map<String, String> map;

Full Screen

Full Screen

writeReplace

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.test.jdk11.ImmutableCollections;2import org.assertj.core.test.jdk11.ImmutableMap;3import java.io.ByteArrayInputStream;4import java.io.ByteArrayOutputStream;5import java.io.IOException;6import java.io.ObjectInputStream;7import java.io.ObjectOutputStream;8import java.io.Serializable;9public class ImmutableMapTest {10 public static void main(String[] args) throws Exception {11 ImmutableCollections immutableCollections = ImmutableCollections.create();12 ImmutableMap immutableMap = immutableCollections.createMap();13 System.out.println("immutableMap = " + immutableMap);14 System.out.println("immutableMap.size() = " + immutableMap.size());15 System.out.println("immutableMap.isEmpty() = " + immutableMap.isEmpty());16 System.out.println("immutableMap.get(\"a\") = " + immutableMap.get("a"));17 System.out.println("immutableMap.get(\"b\") = " + immutableMap.get("b"));18 System.out.println("immutableMap.get(\"c\") = " + immutableMap.get("c"));19 System.out.println("immutableMap.get(\"d\") = " + immutableMap.get("d"));20 System.out.println("immutableMap.get(\"e\") = " + immutableMap.get("e"));21 System.out.println("immutableMap.get(\"f\") = " + immutableMap.get("f"));22 System.out.println("immutableMap.get(\"g\") = " + immutableMap.get("g"));23 System.out.println("immutableMap.get(\"h\") = " + immutableMap.get("h"));24 System.out.println("immutableMap.get(\"i\") = " + immutableMap.get("i"));25 System.out.println("immutableMap.get(\"j\") = " + immutableMap.get("j"));26 System.out.println("immutableMap.get(\"k\") = " + immutableMap.get("k"));27 System.out.println("immutableMap.get(\"l\") = " + immutableMap.get("l"));28 System.out.println("immutableMap.get(\"m\") = " + immutableMap.get("m"));29 System.out.println("immutableMap.get(\"n\") = " + immutableMap.get("n"));30 System.out.println("immutableMap.get(\"o\") = " + immutableMap.get("o"));31 System.out.println("immutableMap.get(\"p\") = " + immutableMap.get("p"));

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful