package com.anuragkapur.ctci.linkedlists; import com.anuragkapur.ds.linkedlist.LinkedListNode; import com.anuragkapur.ds.linkedlist.SinglyLinkedListNode; import org.junit.Assert; import org.junit.Test; public class Prob2_5_SumListsTest { @Test public void testAddNumberLists1() throws Exception { LinkedListNode<Integer> node1 = new LinkedListNode<>(3); LinkedListNode<Integer> node2 = new LinkedListNode<>(1); LinkedListNode<Integer> node3 = new LinkedListNode<>(2); node1.setNext(node2); node2.setNext(node3); LinkedListNode<Integer> node4 = new LinkedListNode<>(8); LinkedListNode<Integer> node5 = new LinkedListNode<>(5); LinkedListNode<Integer> node6 = new LinkedListNode<>(4); node4.setNext(node5); node5.setNext(node6); LinkedListNode result = Prob2_5_SumLists.addDigits(node1, node4); StringBuilder stringBuilder = new StringBuilder(); while (result != null) { stringBuilder.append(result.getData()); result = result.getNext(); } Assert.assertEquals("176", stringBuilder.toString()); } @Test public void testAddNumberLists2() throws Exception { LinkedListNode<Integer> node1 = new LinkedListNode<>(6); LinkedListNode<Integer> node2 = new LinkedListNode<>(7); LinkedListNode<Integer> node3 = new LinkedListNode<>(8); node1.setNext(node2); node2.setNext(node3); LinkedListNode<Integer> node4 = new LinkedListNode<>(4); LinkedListNode<Integer> node5 = new LinkedListNode<>(5); LinkedListNode<Integer> node6 = new LinkedListNode<>(9); node4.setNext(node5); node5.setNext(node6); LinkedListNode result = Prob2_5_SumLists.addDigits(node1, node4); StringBuilder stringBuilder = new StringBuilder(); while (result != null) { stringBuilder.append(result.getData()); result = result.getNext(); } Assert.assertEquals("0381", stringBuilder.toString()); } @Test public void testAddNumberLists3() throws Exception { LinkedListNode<Integer> node1 = new LinkedListNode<>(3); LinkedListNode<Integer> node2 = new LinkedListNode<>(7); node1.setNext(node2); LinkedListNode<Integer> node3 = new LinkedListNode<>(4); LinkedListNode<Integer> node4 = new LinkedListNode<>(5); LinkedListNode<Integer> node5 = new LinkedListNode<>(6); LinkedListNode<Integer> node6 = new LinkedListNode<>(2); node3.setNext(node4); node4.setNext(node5); node5.setNext(node6); LinkedListNode result = Prob2_5_SumLists.addDigits(node1, node3); StringBuilder stringBuilder = new StringBuilder(); while (result != null) { stringBuilder.append(result.getData()); result = result.getNext(); } Assert.assertEquals("7272", stringBuilder.toString()); } }