diff --git a/a1/src/edu/wmich/cs3310/a1/DataStructures/CharQueue.java b/a1/src/edu/wmich/cs3310/a1/DataStructures/CharQueue.java
index 063211bff7d287a3c8d720d66f12270abc6dc5f3..929a78b1ff449455aa0609d6cbdbf55b38fba923 100644
--- a/a1/src/edu/wmich/cs3310/a1/DataStructures/CharQueue.java
+++ b/a1/src/edu/wmich/cs3310/a1/DataStructures/CharQueue.java
@@ -69,6 +69,35 @@ public class CharQueue extends CharList {
     }
 
 
+    /**
+     * Adds new node to tail of list, by acting like list is
+     * only a singly-linked linked list.
+     * @param character Character for node to hold.
+     */
+    public void Enqueue_Singly(char character) {
+        CharNode tempNode;
+        CharNode newNode = new CharNode();
+        newNode.myData(character);
+
+        // Check if list is empty.
+        if (firstNode == null) {
+            firstNode = newNode;
+            lastNode = newNode;
+        } else {
+            tempNode = firstNode;
+
+            // Find last node in list.
+            while (tempNode.nextNode() != null) {
+                tempNode = tempNode.nextNode();
+            }
+
+            tempNode.nextNode(newNode);
+            newNode.prevNode(tempNode);
+            lastNode = newNode;
+        }
+    }
+
+
     /**
      * Removes node from list head.
      * @return Removed node or null if list is empty.
diff --git a/a1/tests/DataStructures/CharQueueTests.java b/a1/tests/DataStructures/CharQueueTests.java
index fc1a5849f757d2343212ffa5e5443fca1b86f189..45d404826b85068e4a9dc4b1e46012d38823b237 100644
--- a/a1/tests/DataStructures/CharQueueTests.java
+++ b/a1/tests/DataStructures/CharQueueTests.java
@@ -63,6 +63,40 @@ public class CharQueueTests {
     }
 
 
+    @Test
+    public void Test_Enqueue_Singly() {
+        Assert.assertNull(aQueue.headNode());
+        Assert.assertNull(aQueue.tailNode());
+
+        // Test enqueueing with one node.
+        aQueue.Enqueue_Singly('a');
+        Assert.assertEquals('a', aQueue.headNode().myData());
+        Assert.assertNull(aQueue.headNode().prevNode());
+        Assert.assertNull(aQueue.tailNode().nextNode());
+        Assert.assertEquals(aQueue.headNode(), aQueue.tailNode());
+
+        // Test enqueueing with two nodes.
+        aQueue.Enqueue_Singly('b');
+        Assert.assertEquals('a', aQueue.headNode().myData());
+        Assert.assertEquals('b', aQueue.tailNode().myData());
+        Assert.assertNull(aQueue.headNode().prevNode());
+        Assert.assertNull(aQueue.tailNode().nextNode());
+        Assert.assertEquals(aQueue.headNode(), aQueue.tailNode().prevNode());
+        Assert.assertEquals(aQueue.tailNode(), aQueue.headNode().nextNode());
+
+        // Test enqueueing with three nodes.
+        aQueue.Enqueue_Singly('c');
+        Assert.assertEquals('a', aQueue.headNode().myData());
+        Assert.assertEquals('b', aQueue.headNode().nextNode().myData());
+        Assert.assertEquals('c', aQueue.tailNode().myData());
+        Assert.assertNull(aQueue.headNode().prevNode());
+        Assert.assertNull(aQueue.tailNode().nextNode());
+        Assert.assertEquals(aQueue.headNode(), aQueue.tailNode().prevNode().prevNode());
+        Assert.assertEquals(aQueue.headNode().nextNode(), aQueue.tailNode().prevNode());
+        Assert.assertEquals(aQueue.headNode().nextNode().nextNode(), aQueue.tailNode());
+    }
+
+
     @Test
     public void Test_Dequeue() {
         aQueue.Enqueue('a');
@@ -107,5 +141,7 @@ public class CharQueueTests {
         Assert.assertNull(aNode);
     }
 
+
+
     //endregion Tests
 }