20 package net.sf.gridarta.model.resource;
22 import java.io.BufferedWriter;
24 import java.io.FileOutputStream;
25 import java.io.IOException;
26 import java.io.OutputStream;
27 import java.io.OutputStreamWriter;
28 import java.io.Writer;
29 import java.nio.charset.StandardCharsets;
30 import java.util.ArrayList;
31 import java.util.Collections;
32 import java.util.Enumeration;
33 import java.util.HashMap;
34 import java.util.List;
36 import java.util.ResourceBundle;
37 import java.util.regex.Pattern;
60 import net.
sf.japi.swing.action.ActionBuilder;
61 import net.
sf.japi.swing.action.ActionBuilderFactory;
62 import net.
sf.japi.swing.action.DefaultActionBuilder;
63 import net.
sf.japi.util.IteratorEnumeration;
64 import org.jetbrains.annotations.NotNull;
65 import org.jetbrains.annotations.Nullable;
66 import org.junit.Assert;
67 import org.junit.Test;
87 final File tmpDirectory = File.createTempFile(
"gridarta",
null);
89 Assert.assertTrue(tmpDirectory.delete());
90 Assert.assertTrue(tmpDirectory.mkdir());
91 final File archDirectory =
new File(tmpDirectory,
"archetypes");
92 Assert.assertTrue(archDirectory.mkdir());
93 final File collectedDirectory =
new File(tmpDirectory,
"collected");
94 Assert.assertTrue(collectedDirectory.mkdir());
99 final ActionBuilder actionBuilder =
new DefaultActionBuilder(
"net.sf.gridarta");
100 ActionBuilderFactory.getInstance().putActionBuilder(
"net.sf.gridarta", actionBuilder);
101 final ResourceBundle resourceBundle =
new ResourceBundle() {
107 private final Map<String, Object> objects =
new HashMap<>();
111 protected Object handleGetObject(@NotNull
final String key) {
112 final Object existingObject = objects.get(key);
113 if (existingObject !=
null) {
114 return existingObject;
119 object =
"Description";
123 objects.put(key,
object);
129 public Enumeration<String> getKeys() {
130 return new IteratorEnumeration<>(Collections.unmodifiableSet(objects.keySet()).iterator());
134 actionBuilder.addBundle(resourceBundle);
138 Assert.assertEquals(3, animationObjects.
size());
142 Assert.assertNotNull(anim1);
143 Assert.assertNotNull(anim2);
144 Assert.assertNotNull(anim3);
148 Assert.assertEquals(
"/anim1", anim1.
getPath());
149 Assert.assertEquals(
"/p/anim2", anim2.
getPath());
150 Assert.assertEquals(
"/p/q/r/anim3", anim3.
getPath());
152 delete(tmpDirectory);
175 final List<TestGameObject> invObjects =
new ArrayList<>();
177 filesResourcesReader.
read(errorView, invObjects);
178 return animationObjects;
193 final File file =
new File(
directory, animName +
".anim");
194 Assert.assertFalse(file.exists());
195 try (OutputStream fileOutputStream =
new FileOutputStream(file)) {
196 try (Writer outputStreamWriter =
new OutputStreamWriter(fileOutputStream, StandardCharsets.UTF_8)) {
197 try (Writer bufferedWriter =
new BufferedWriter(outputStreamWriter)) {
198 bufferedWriter.append(
"anim ").append(animName).append(
"\n");
199 bufferedWriter.append(
"face1\n");
200 bufferedWriter.append(
"face2\n");
201 bufferedWriter.append(
"mina\n");
211 private static void delete(@NotNull
final File file) {
215 if (file.isDirectory()) {
216 final File[]
files = file.listFiles();
218 for (
final File subFile :
files) {
225 Assert.assertTrue(file.delete());