package test; import static org.junit.Assert.*; import java.math.BigDecimal; import org.junit.Test; import database.DBSet; public class DatabaseTests { @Test public void databaseFork() { //CREATE DATABASE DBSet databaseSet = DBSet.createEmptyDatabaseSet(); //CREATE FORK DBSet fork = databaseSet.fork(); //SET BALANCE databaseSet.getBalanceMap().set("test", BigDecimal.ONE); //CHECK VALUE IN DB assertEquals(BigDecimal.ONE, databaseSet.getBalanceMap().get("test")); //CHECK VALUE IN FORK assertEquals(BigDecimal.ONE, fork.getBalanceMap().get("test")); //SET BALANCE IN FORK fork.getBalanceMap().set("test", BigDecimal.TEN); //CHECK VALUE IN DB assertEquals(BigDecimal.ONE, databaseSet.getBalanceMap().get("test")); //CHECK VALUE IN FORK assertEquals(BigDecimal.TEN, fork.getBalanceMap().get("test")); //CREATE SECOND FORK DBSet fork2 = fork.fork(); //SET BALANCE IN FORK2 fork2.getBalanceMap().set("test", BigDecimal.ZERO); //CHECK VALUE IN DB assertEquals(BigDecimal.ONE, databaseSet.getBalanceMap().get("test")); //CHECK VALUE IN FORK assertEquals(BigDecimal.TEN, fork.getBalanceMap().get("test")); //CHECK VALUE IN FORK assertEquals(BigDecimal.ZERO, fork2.getBalanceMap().get("test")); } }