package com.github.miniyk2012.coding2017.basic.linklist; import org.junit.Assert; import org.junit.Test; public class LRUPageFrameTest { @Test public void testAccess() { LRUPageFrame frame = new LRUPageFrame(3); frame.access(7); frame.access(0); Assert.assertEquals("0,7", frame.toString()); Assert.assertEquals("7,0", frame.lastToString()); frame.access(1); Assert.assertEquals("1,0,7", frame.toString()); Assert.assertEquals("7,0,1", frame.lastToString()); frame.access(2); Assert.assertEquals("2,1,0", frame.toString()); Assert.assertEquals("0,1,2", frame.lastToString()); frame.access(0); Assert.assertEquals("0,2,1", frame.toString()); Assert.assertEquals("1,2,0", frame.lastToString()); frame.access(0); Assert.assertEquals("0,2,1", frame.toString()); Assert.assertEquals("1,2,0", frame.lastToString()); frame.access(3); Assert.assertEquals("3,0,2", frame.toString()); Assert.assertEquals("2,0,3", frame.lastToString()); frame.access(0); Assert.assertEquals("0,3,2", frame.toString()); Assert.assertEquals("2,3,0", frame.lastToString()); frame.access(4); Assert.assertEquals("4,0,3", frame.toString()); Assert.assertEquals("3,0,4", frame.lastToString()); frame.access(4); Assert.assertEquals("4,0,3", frame.toString()); Assert.assertEquals("3,0,4", frame.lastToString()); frame.access(4); Assert.assertEquals("4,0,3", frame.toString()); Assert.assertEquals("3,0,4", frame.lastToString()); frame.access(0); Assert.assertEquals("0,4,3", frame.toString()); Assert.assertEquals("3,4,0", frame.lastToString()); frame.access(7); Assert.assertEquals("7,0,4", frame.toString()); Assert.assertEquals("4,0,7", frame.lastToString()); frame.access(4); Assert.assertEquals("4,7,0", frame.toString()); Assert.assertEquals("0,7,4", frame.lastToString()); LRUPageFrame frame2 = new LRUPageFrame(1); Assert.assertEquals("", frame2.toString()); frame2.access(7); Assert.assertEquals("7", frame2.toString()); frame2.access(0); Assert.assertEquals("0", frame2.toString()); } }