public void testSerial() { assertTrue(_nbhm.isEmpty()); final String k1 = "k1"; final String k2 = "k2"; assertThat(_nbhm.put(k1, "v1"), nullValue()); assertThat(_nbhm.put(k2, "v2"), nullValue()); // Serialize it out try { FileOutputStream fos = new FileOutputStream("NBHM_test.txt"); ObjectOutputStream out = new ObjectOutputStream(fos); out.writeObject(_nbhm); out.close(); } catch (IOException ex) { ex.printStackTrace(); } // Read it back try { File f = new File("NBHM_test.txt"); FileInputStream fis = new FileInputStream(f); ObjectInputStream in = new ObjectInputStream(fis); NonBlockingIdentityHashMap nbhm = (NonBlockingIdentityHashMap) in.readObject(); in.close(); assertThat( "serialization works", nbhm.toString(), anyOf(is("{k1=v1, k2=v2}"), is("{k2=v2, k1=v1}"))); if (!f.delete()) throw new IOException("delete failed"); } catch (IOException ex) { ex.printStackTrace(); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } }
/** Method: addToFile(LinkedList<GameNode> g) */ @Test public void testAddToFile() throws Exception { GameNode testGameNode = new GameNode(); testGameNode.setPlayer("rarry"); testGameNode.setOpponent("lobertie"); testGameNode.setGameName("raddle"); testGameNode.setWinLose(true); testGameNode.setScore(29); LinkedList<GameNode> testLLGN = new LinkedList<GameNode>(); testLLGN.add(testGameNode); testScoreboard.addToFile(testLLGN); LinkedList<GameNode> temp = new LinkedList<GameNode>(); ObjectInputStream i = null; try { i = new ObjectInputStream(new FileInputStream("gameStats.ser")); temp = (LinkedList<GameNode>) i.readObject(); i.close(); } catch (FileNotFoundException e) { } catch (IOException e) { } catch (ClassNotFoundException e) { e.printStackTrace(); } assertTrue( "The Object read from file contains the testGameNode added to file", temp.contains(testGameNode)); }