protected MemoryDataView(DataView.SafetyMode safety) { checkState(this instanceof DataContainer, "Cannot construct a root MemoryDataView without a container!"); this.path = of(); this.parent = this; this.container = (DataContainer) this; this.safety = checkNotNull(safety, "Safety mode"); }
@Override public DataContainer toContainer() { DataContainer container = DataContainer.createNew(); container.set(DataQuery.of("myInt"), this.testInt); container.set(DataQuery.of("myDouble"), this.testDouble); container.set(DataQuery.of("myString"), this.testString); container.set(DataQuery.of("myStringList"), Arrays.asList(this.testList)); return container; }
/** * Method: getParts() */ @Test public void testGetParts() { final DataQuery query = DataQuery.of("this", "parts", "test"); final List<String> parts = new ArrayList<>(); parts.add("this"); parts.add("parts"); parts.add("test"); assertThat(query.getParts().equals(parts), is(true)); }
/** * Method: then(DataQuery that) */ @Test public void testThen() { final DataQuery query = DataQuery.of("this", "testing"); final DataQuery other = DataQuery.of("this"); final DataQuery test = other.then(DataQuery.of("testing")); assertThat(query.equals(test), is(true)); assertThat(test.equals(query), is(true)); }
/** * Method: equals(Object obj) */ @Test public void testEquals() { DataQuery query1 = DataQuery.of("test"); DataQuery query2 = DataQuery.of("test"); DataQuery nonEqual = DataQuery.of("nope"); assertThat(query1.equals(query1), is(true)); assertThat(query1.equals(query2), is(true)); assertThat(query1.equals(nonEqual), is(false)); }
/** * Method: pop() */ @Test public void testPop() { DataQuery prePopped = DataQuery.of("this", "test", "query"); DataQuery expected = DataQuery.of("this", "test"); assertThat(prePopped.pop().equals(expected), is(true)); DataQuery empty = DataQuery.of(); DataQuery emptyPopped = empty.pop(); assertThat(emptyPopped.equals(empty), is(true)); DataQuery single = DataQuery.of("single"); assertThat(single.pop().equals(empty), is(true)); }
@Test public void testCopy() { final DataContainer container = DataContainer.createNew(); container.set(of("Foo"), "foo"); final DataContainer newContainer = container.copy(); assertTrue(container.equals(newContainer)); container.set(of("Foo", "bar"), "foo.bar"); final DataView internal = container.getView(of("Foo")).get().copy(); final DataContainer internalCopy = DataContainer.createNew().set(of("bar"), "foo.bar"); assertTrue(internal.equals(internalCopy)); }
@Test public void testGetSerializable() throws Exception { initGame(); List<String> myList = ImmutableList.of("foo", "bar", "baz"); SimpleData temp = new SimpleData(1, 2.0, "foo", myList); DataContainer container = temp.toContainer(); Optional<SimpleData> fromContainer = container.getSerializable(of(), SimpleData.class); assertTrue(fromContainer.isPresent()); assertTrue(Objects.equal(fromContainer.get(), temp)); assertTrue(container.contains(of("myStringList"))); assertTrue(container.getStringList(of("myStringList")).get().equals(myList)); }
@Test public void testString() { DataContainer container = DataContainer.createNew(); DataQuery testQuery = of("foo", "bar"); container.set(testQuery, "foo"); Optional<String> stringOptional = container.getString(testQuery); assertTrue(stringOptional.isPresent()); assertTrue(stringOptional.get().equals("foo")); }
@Test public void testBoolean() { DataContainer container = DataContainer.createNew(); DataQuery testQuery = of("foo", "bar"); container.set(testQuery, false); Optional<Boolean> booleanOptional = container.getBoolean(testQuery); assertTrue(booleanOptional.isPresent()); assertTrue(!booleanOptional.get()); }
@Test public void testEmptyQuery() { DataContainer container = DataContainer.createNew(); DataQuery query = of(""); container.set(query, "foo"); assertTrue(container.get(query).isPresent()); assertTrue(container.get(query).get().equals("foo")); }
@Test public void testCreateView() { DataContainer container = DataContainer.createNew(); DataQuery tempQuery = of("foo", "bar", "baz"); container.createView(tempQuery); assertTrue(container.getView(tempQuery).isPresent()); }
@Test public void testSetData() { DataContainer container = DataContainer.createNew(); DataQuery testQuery = of('.', "foo.bar"); container.set(testQuery, 1); Optional<Integer> optional = container.getInt(testQuery); assertTrue(optional.isPresent()); }
@Test public void testIncorrectType() { DataContainer container = DataContainer.createNew(); DataQuery testQuery = of("foo", "bar"); container.set(testQuery, "foo"); Optional<Integer> optional = container.getInt(testQuery); assertTrue(!optional.isPresent()); }
@Test public void testTest() { DataContainer containertest = DataContainer.createNew(); DataContainer containertest2 = DataContainer.createNew(); containertest.set(DataQuery.of("test1", "test2", "test3"), containertest2); }
@Test public void testContainsEmpty() { DataContainer container = DataContainer.createNew(); DataQuery query = of(""); assertTrue(!container.contains(query)); container.set(query, "foo"); assertTrue(container.contains(query)); query = of('.', "foo.bar"); assertTrue(!container.contains(query)); container.set(query, "baz"); assertTrue(container.contains(query)); }