How to use StandardRepresentation_toStringOf_Test class of org.assertj.core.presentation package

Best Assertj code snippet using org.assertj.core.presentation.StandardRepresentation_toStringOf_Test

Source:StandardRepresentation_toStringOf_Test.java Github

copy

Full Screen

...42 * Tests for {@link org.assertj.core.presentation.StandardRepresentation#toStringOf(Object)}.43 *44 * @author Joel Costigliola45 */46public class StandardRepresentation_toStringOf_Test extends AbstractBaseRepresentationTest {47 private static final StandardRepresentation STANDARD_REPRESENTATION = new StandardRepresentation();48 @Test49 public void should_return_null_if_object_is_null() {50 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(((Object) (null)))).isNull();51 }52 @Test53 public void should_quote_String() {54 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf("Hello")).isEqualTo("\"Hello\"");55 }56 @Test57 public void should_quote_empty_String() {58 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf("")).isEqualTo("\"\"");59 }60 @Test61 public void should_return_toString_of_File() {62 final String path = "/someFile.txt";63 @SuppressWarnings("serial")64 File o = new File(path) {65 @Override66 public String getAbsolutePath() {67 return path;68 }69 };70 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(o)).isEqualTo(path);71 }72 @Test73 public void should_return_toString_of_Class_with_its_name() {74 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(Object.class)).isEqualTo("java.lang.Object");75 }76 @Test77 public void should_return_toString_of_Collection_of_String() {78 Collection<String> collection = Lists.newArrayList("s1", "s2");79 // assertThat(STANDARD_REPRESENTATION.toStringOf(collection)).isEqualTo(format("[\"s1\",%n" +80 // " \"s2\"]"));81 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(collection)).isEqualTo(String.format("[\"s1\", \"s2\"]"));82 }83 @Test84 public void should_return_toString_of_Collection_of_arrays() {85 List<Boolean[]> collection = Lists.newArrayList(Arrays.array(true, false), Arrays.array(true, false, true));86 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(collection)).isEqualTo("[[true, false], [true, false, true]]");87 }88 @Test89 public void should_return_toString_of_Collection_of_arrays_up_to_the_maximum_allowed_elements() {90 List<Boolean[]> collection = Lists.newArrayList(Arrays.array(true, false), Arrays.array(true, false, true), Arrays.array(true, true));91 StandardRepresentation.setMaxElementsForPrinting(2);92 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(collection)).isEqualTo("[[true, false], [true, false, ...], ...]");93 }94 @Test95 public void should_return_toString_of_Collection_of_Collections() {96 Collection<List<String>> collection = Lists.newArrayList(Lists.newArrayList("s1", "s2"), Lists.newArrayList("s3", "s4", "s5"));97 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(collection)).isEqualTo("[[\"s1\", \"s2\"], [\"s3\", \"s4\", \"s5\"]]");98 }99 @Test100 public void should_return_toString_of_Collection_of_Collections_up_to_the_maximum_allowed_elements() {101 Collection<List<String>> collection = Lists.newArrayList(Lists.newArrayList("s1", "s2"), Lists.newArrayList("s3", "s4", "s5"), Lists.newArrayList("s6", "s7"));102 StandardRepresentation.setMaxElementsForPrinting(2);103 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(collection)).isEqualTo("[[\"s1\", \"s2\"], [\"s3\", \"s4\", ...], ...]");104 }105 @Test106 public void should_return_toString_of_Map() {107 Map<String, String> map = new LinkedHashMap<>();108 map.put("key1", "value1");109 map.put("key2", "value2");110 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(map)).isEqualTo("{\"key1\"=\"value1\", \"key2\"=\"value2\"}");111 }112 @Test113 public void should_return_toString_of_array() {114 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(Arrays.array("s1", "s2"))).isEqualTo("[\"s1\", \"s2\"]");115 }116 @Test117 public void should_return_toString_of_array_of_arrays() {118 String[][] array = Arrays.array(Arrays.array("s1", "s2"), Arrays.array("s3", "s4", "s5"));119 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(array)).isEqualTo("[[\"s1\", \"s2\"], [\"s3\", \"s4\", \"s5\"]]");120 }121 @Test122 public void should_return_toString_of_array_of_arrays_up_to_the_maximum_allowed_elements() {123 String[][] array = Arrays.array(Arrays.array("s1", "s2"), Arrays.array("s3", "s4", "s5"), Arrays.array("s6", "s7"));124 StandardRepresentation.setMaxElementsForPrinting(2);125 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(array)).isEqualTo("[[\"s1\", \"s2\"], [\"s3\", \"s4\", ...], ...]");126 }127 @Test128 public void should_return_toString_of_array_of_Class() {129 Class<?>[] array = new Class<?>[]{ String.class, File.class };130 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(array)).isEqualTo("[java.lang.String, java.io.File]");131 }132 @Test133 public void should_return_toString_of_calendar() {134 GregorianCalendar calendar = new GregorianCalendar(2011, Calendar.JANUARY, 18, 23, 53, 17);135 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(calendar)).isEqualTo("2011-01-18T23:53:17");136 }137 @Test138 public void should_return_toString_of_date() {139 Date date = new GregorianCalendar(2011, Calendar.JUNE, 18, 23, 53, 17).getTime();140 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(date)).isEqualTo("2011-06-18T23:53:17.000");141 }142 @Test143 public void should_return_toString_of_AtomicReference() {144 AtomicReference<String> atomicReference = new AtomicReference<>("actual");145 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(atomicReference)).isEqualTo("AtomicReference[\"actual\"]");146 }147 @Test148 public void should_return_toString_of_AtomicMarkableReference() {149 AtomicMarkableReference<String> atomicMarkableReference = new AtomicMarkableReference<>("actual", true);150 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(atomicMarkableReference)).isEqualTo("AtomicMarkableReference[marked=true, reference=\"actual\"]");151 }152 @Test153 public void should_return_toString_of_AtomicStampedReference() {154 AtomicStampedReference<String> atomicStampedReference = new AtomicStampedReference<>("actual", 123);155 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(atomicStampedReference)).isEqualTo("AtomicStampedReference[stamp=123, reference=\"actual\"]");156 }157 @Test158 public void should_return_toString_of_AtomicIntegerFieldUpdater() {159 AtomicIntegerFieldUpdater<StandardRepresentation_toStringOf_Test.Person> updater = AtomicIntegerFieldUpdater.newUpdater(StandardRepresentation_toStringOf_Test.Person.class, "age");160 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(updater)).isEqualTo("AtomicIntegerFieldUpdater");161 }162 @Test163 public void should_return_toString_of_AtomicLongFieldUpdater() {164 AtomicLongFieldUpdater<StandardRepresentation_toStringOf_Test.Person> updater = AtomicLongFieldUpdater.newUpdater(StandardRepresentation_toStringOf_Test.Person.class, "account");165 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(updater)).isEqualTo("AtomicLongFieldUpdater");166 }167 @Test168 public void should_return_toString_of_AtomicReferenceFieldUpdater() {169 AtomicReferenceFieldUpdater<StandardRepresentation_toStringOf_Test.Person, String> updater = AtomicReferenceFieldUpdater.newUpdater(StandardRepresentation_toStringOf_Test.Person.class, String.class, "name");170 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(updater)).isEqualTo("AtomicReferenceFieldUpdater");171 }172 @Test173 public void toString_with_anonymous_comparator() {174 Comparator<String> anonymousComparator = new Comparator<String>() {175 @Override176 public int compare(String s1, String s2) {177 return (s1.length()) - (s2.length());178 }179 };180 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(anonymousComparator)).isEqualTo("'anonymous comparator class'");181 }182 @Test183 public void toString_with_anonymous_comparator_overriding_toString() {184 Comparator<String> anonymousComparator = new Comparator<String>() {185 @Override186 public int compare(String s1, String s2) {187 return (s1.length()) - (s2.length());188 }189 @Override190 public String toString() {191 return "foo";192 }193 };194 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(anonymousComparator)).isEqualTo("foo");195 }196 @Test197 public void toString_with_comparator_not_overriding_toString() {198 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(new StringTestComparator())).isEqualTo("StringTestComparator");199 }200 @Test201 public void toString_with_comparator_overriding_toString() {202 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(new OtherStringTestComparator())).isEqualTo("other String comparator");203 }204 @Test205 public void toString_with_comparator_overriding_toString_and_having_at() {206 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(new OtherStringTestComparatorWithAt())).isEqualTo("other String comparator with @");207 }208 @Test209 public void should_format_longs_and_integers() {210 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(20L).equals(toStringOf(20))).isFalse();211 Assertions.assertThat(toStringOf(20)).isEqualTo("20");212 Assertions.assertThat(toStringOf(20L)).isEqualTo("20L");213 }214 @Test215 public void should_format_bytes_as_hex() {216 Assertions.assertThat(toStringOf(((byte) (20))).equals(toStringOf(((char) (20))))).isFalse();217 Assertions.assertThat(toStringOf(((short) (20)))).isEqualTo(toStringOf(((byte) (20))));218 Assertions.assertThat(toStringOf(((byte) (32)))).isEqualTo("32");219 }220 @Test221 public void should_format_doubles_and_floats() {222 Assertions.assertThat(toStringOf(20.0F).equals(toStringOf(20.0))).isFalse();223 Assertions.assertThat(toStringOf(20.0)).isEqualTo("20.0");224 Assertions.assertThat(toStringOf(20.0F)).isEqualTo("20.0f");225 }226 @Test227 public void should_format_tuples() {228 Assertions.assertThat(toStringOf(Assertions.tuple(1, 2, 3))).isEqualTo("(1, 2, 3)");229 }230 @Test231 public void should_format_tuples_up_to_the_maximum_allowed_elements() {232 StandardRepresentation.setMaxElementsForPrinting(2);233 Assertions.assertThat(toStringOf(Assertions.tuple(1, 2, 3))).isEqualTo("(1, 2, ...)");234 }235 @Test236 public void should_format_simple_date_format() {237 SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy");238 Assertions.assertThat(toStringOf(sdf)).isEqualTo("ddMMyyyy");239 }240 @Test241 public void should_format_assertj_map_entry() {242 MapEntry<String, Integer> entry = Assertions.entry("A", 1);243 Assertions.assertThat(toStringOf(entry)).isEqualTo("MapEntry[key=\"A\", value=1]");244 }245 @Test246 public void should_return_toStringOf_method() {247 Method method = stream(StandardRepresentation_toStringOf_Test.GenericClass.class.getMethods()).filter(( m) -> m.getName().equals("someGenericMethod")).findAny().get();248 Assertions.assertThat(StandardRepresentation_toStringOf_Test.STANDARD_REPRESENTATION.toStringOf(method)).isEqualTo(method.toGenericString());249 }250 private static class Person {251 volatile String name;252 volatile int age;253 volatile long account;254 @Override255 public String toString() {256 return String.format("Person [name=%s, age=%s, account=%s]", name, age, account);257 }258 }259 private static class GenericClass<T> {260 @SuppressWarnings("unused")261 public <R extends StandardRepresentation_toStringOf_Test.Person> T someGenericMethod(R input, List<? extends R> list, T input2) {262 return input2;263 }264 }265}...

Full Screen

Full Screen

Source:org.assertj.core.util.StandardRepresentation_toStringOf_Test-should_return_null_if_object_is_null.java Github

copy

Full Screen

...34 * Tests for {@link org.assertj.core.presentation.StandardRepresentation#toStringOf(Object)}.35 *36 * @author Joel Costigliola37 */38public class StandardRepresentation_toStringOf_Test {39 @Test40 public void should_return_null_if_object_is_null() {41 assertNull(new StandardRepresentation().toStringOf(null));42 }43 private String toStringOf(Object o) {44 return new StandardRepresentation().toStringOf(o);45 }46}...

Full Screen

Full Screen

Source:org.assertj.core.util.StandardRepresentation_toStringOf_Test-should_quote_String.java Github

copy

Full Screen

...34 * Tests for {@link org.assertj.core.presentation.StandardRepresentation#toStringOf(Object)}.35 *36 * @author Joel Costigliola37 */38public class StandardRepresentation_toStringOf_Test {39 @Test public void should_quote_String(){assertEquals("\"Hello\"",new StandardRepresentation().toStringOf("Hello"));}40 private String toStringOf(Object o) {41 return new StandardRepresentation().toStringOf(o);42 }43}

Full Screen

Full Screen

StandardRepresentation_toStringOf_Test

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.presentation.StandardRepresentation;2import org.assertj.core.presentation.StandardRepresentation_toStringOf_Test;3public class Main {4 public static void main(String[] args) {5 StandardRepresentation standardRepresentation = new StandardRepresentation();6 System.out.println(standardRepresentation.toStringOf(new StandardRepresentation_toStringOf_Test()));7 }8}

Full Screen

Full Screen

StandardRepresentation_toStringOf_Test

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.api.Assertions;2import org.assertj.core.presentation.StandardRepresentation;3import org.junit.Test;4public class StandardRepresentation_toStringOf_Test {5public void test() {6StandardRepresentation standardRepresentation = new StandardRepresentation();7Assertions.assertThat(standardRepresentation.toStringOf("Hello")).isEqualTo("[Hello]");8}9}10Java String toLowerCase() method11Java String toUpperCase() method12Java String trim() method13Java String replace() method14Java String replaceFirst() method15Java String replaceAll() method16Java String concat() method17Java String codePointAt() method18Java String codePointBefore() method19Java String codePointCount() method20Java String compareTo() method21Java String compareToIgnoreCase() method22Java String contains() method23Java String contentEquals() method24Java String endsWith() method25Java String equals() method26Java String equalsIgnoreCase() method27Java String getBytes() method28Java String getChars() method29Java String hashCode() method30Java String indexOf() method31Java String intern() method32Java String isEmpty() method33Java String lastIndexOf() method34Java String length() method35Java String matches() method36Java String offsetByCodePoints() method37Java String regionMatches() method38Java String split() method39Java String startsWith() method40Java String subSequence() method41Java String substring() method42Java String toCharArray() method43Java String toLowerCase() method44Java String toUpperCase() method45Java String trim() method46Java String replace() method47Java String replaceFirst() method48Java String replaceAll() method49Java String concat() method50Java String codePointAt() method51Java String codePointBefore() method52Java String codePointCount() method53Java String compareTo() method54Java String compareToIgnoreCase() method55Java String contains() method56Java String contentEquals() method57Java String endsWith() method58Java String equals() method59Java String equalsIgnoreCase() method60Java String getBytes() method61Java String getChars() method62Java String hashCode() method63Java String indexOf() method64Java String intern() method65Java String isEmpty() method66Java String lastIndexOf() method67Java String length() method68Java String matches() method69Java String offsetByCodePoints() method70Java String regionMatches() method71Java String split() method72Java String startsWith() method73Java String subSequence()

Full Screen

Full Screen

StandardRepresentation_toStringOf_Test

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.api.Assertions;2import org.assertj.core.presentation.StandardRepresentation;3import org.assertj.core.presentation.StandardRepresentation_toStringOf_Test;4import org.junit.Test;5public class StandardRepresentation_toStringOf_Test1 {6 public void test() {7 StandardRepresentation standardRepresentation = new StandardRepresentation();8 StandardRepresentation_toStringOf_Test standardRepresentation_toStringOf_Test = new StandardRepresentation_toStringOf_Test();9 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_object();10 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_object_when_no_toString_overridden();11 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_object_when_toString_overridden();12 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_object_when_toString_overridden_and_no_toString_of_object();13 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_object_when_toString_overridden_and_toString_of_object();14 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_object_when_toString_overridden_and_toString_of_object_and_no_toString_of_class();15 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_object_when_toString_overridden_and_toString_of_object_and_toString_of_class();16 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_class_when_toString_of_class_and_no_toString_of_object();17 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_class_when_toString_of_class_and_toString_of_object();18 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_class_when_toString_of_class_and_toString_of_object_and_no_toString_of_class();19 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_class_when_toString_of_class_and_toString_of_object_and_toString_of_class();20 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_class_when_toString_of_class_and_toString_of_object_and_toString_of_class_and_no_toString_of_object();21 standardRepresentation_toStringOf_Test.test_toStringOf_should_use_toString_of_class_when_toString_of_class_and_toString_of_object_and_toString_of_class_and_toString_of_object();

Full Screen

Full Screen

StandardRepresentation_toStringOf_Test

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.api.Assertions;2import org.assertj.core.presentation.StandardRepresentation;3public class StandardRepresentation_toStringOf_Test {4public static void main(String[] args) {5 StandardRepresentation standardRepresentation = new StandardRepresentation();6 String result = standardRepresentation.toStringOf(1);7 System.out.println(result);8}9}

Full Screen

Full Screen

StandardRepresentation_toStringOf_Test

Using AI Code Generation

copy

Full Screen

1import static org.assertj.core.api.Assertions.assertThat;2import org.assertj.core.presentation.StandardRepresentation;3import org.junit.Test;4public class StandardRepresentation_toStringOf_Test {5public void toStringOf_Test() {6 StandardRepresentation standardRepresentation = new StandardRepresentation();7 assertThat(standardRepresentation.toStringOf(1)).isEqualTo("1");8 assertThat(standardRepresentation.toStringOf(new int[] { 1, 2, 3 })).isEqualTo("[1, 2, 3]");9 assertThat(standardRepresentation.toStringOf("a")).isEqualTo("a");10 assertThat(standardRepresentation.toStringOf(new String[] { "a", "b", "c" })).isEqualTo("[a, b, c]");11 assertThat(standardRepresentation.toStringOf(new Object())).isEqualTo("java.lang.Object@2a139a55");12 assertThat(standardRepresentation.toStringOf(new int[] { 1, 2, 3 })).isEqualTo("[1, 2, 3]");13 assertThat(standardRepresentation.toStringOf(new int[][] { { 1, 2 }, { 3, 4 } })).isEqualTo("[[1, 2], [3, 4]]");14}15}

Full Screen

Full Screen

StandardRepresentation_toStringOf_Test

Using AI Code Generation

copy

Full Screen

1package org.assertj.core.presentation;2import java.util.Arrays;3import java.util.HashSet;4import java.util.List;5import java.util.Set;6import org.assertj.core.api.Assertions;7import org.assertj.core.presentation.StandardRepresentation;8import org.junit.jupiter.api.Test;9public class StandardRepresentation_toStringOf_Test {10 public void test() {11 StandardRepresentation standardRepresentation = new StandardRepresentation();12 List<String> list = Arrays.asList("one", "two", "three");13 String s = standardRepresentation.toStringOf(list);14 Assertions.assertThat(s).isEqualTo("[\"one\", \"two\", \"three\"]");15 }16}

Full Screen

Full Screen

StandardRepresentation_toStringOf_Test

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.presentation.StandardRepresentation;2import org.assertj.core.presentation.StandardRepresentation.*;3public class JunitTest {4 public static void main(String[] args) {5 StandardRepresentation standardRepresentation = new StandardRepresentation();6 System.out.println(standardRepresentation.toStringOf(1));7 }8}

Full Screen

Full Screen

StandardRepresentation_toStringOf_Test

Using AI Code Generation

copy

Full Screen

1import org.assertj.core.presentation.StandardRepresentation;2import org.assertj.core.presentation.StandardRepresentation_toStringOf_Test;3public class MainClass {4 public static void main(String[] args) {5 StandardRepresentation_toStringOf_Test obj = new StandardRepresentation_toStringOf_Test();6 StandardRepresentation std = new StandardRepresentation();7 String str = std.toStringOf(obj);8 System.out.println(str);9 }10}

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.

Run Assertj automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Test Your Web Or Mobile Apps On 3000+ Browsers

Signup for free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful