Use Maps.equals, test streaming Integer values in a Map
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6210 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -34,6 +34,7 @@ import com.threerings.util.Map;
|
||||
import com.threerings.io.streamers.MapStreamer;
|
||||
// GENERATED PREAMBLE END
|
||||
|
||||
import com.threerings.util.Integer;
|
||||
import com.threerings.util.Maps;
|
||||
import com.threerings.util.Util;
|
||||
|
||||
@@ -73,25 +74,10 @@ public class ASStreamableSubset extends SimpleStreamableObject
|
||||
stringMap.put("one", "1");
|
||||
stringMap.put("two", "2");
|
||||
stringMap.put("three", "3");
|
||||
}
|
||||
|
||||
protected static function mapEquals (m1 :Map, m2 :Map) :Boolean
|
||||
{
|
||||
if (m1 == m2) {
|
||||
return true;
|
||||
}
|
||||
if (m1 == null) {
|
||||
return false;
|
||||
}
|
||||
if (m1.size() != m2.size()) {
|
||||
return false;
|
||||
}
|
||||
for each (var key :Object in m1.keys()) {
|
||||
if (!m2.containsKey(key) || !Util.equals(m1.get(key), m2.get(key))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
stringIntMap = Maps.newMapOf(String);
|
||||
stringIntMap.put("one", Integer.valueOf(1));
|
||||
stringIntMap.put("two", Integer.valueOf(2));
|
||||
stringIntMap.put("three", Integer.valueOf(3));
|
||||
}
|
||||
|
||||
public function equals (o :ASStreamableSubset) :Boolean
|
||||
@@ -103,8 +89,8 @@ public class ASStreamableSubset extends SimpleStreamableObject
|
||||
Util.equals(ints, o.ints) && Util.equals(nullBools, o.nullBools) &&
|
||||
Util.equals(nullBytes, o.nullBytes) && Util.equals(nullInts, o.nullInts) &&
|
||||
Util.equals(strings, o.strings) && Util.equals(nullStrings, o.nullStrings) &&
|
||||
mapEquals(stringMap, o.stringMap) &&
|
||||
mapEquals(nullStringMap, o.nullStringMap);
|
||||
Maps.equals(stringMap, o.stringMap) && Maps.equals(stringIntMap, o.stringIntMap)
|
||||
Maps.equals(nullStringMap, o.nullStringMap);
|
||||
|
||||
}
|
||||
|
||||
@@ -128,6 +114,7 @@ public class ASStreamableSubset extends SimpleStreamableObject
|
||||
public var strings :TypedArray;
|
||||
public var nullStrings :TypedArray;
|
||||
public var stringMap :Map;
|
||||
public var stringIntMap :Map;
|
||||
public var nullStringMap :Map;
|
||||
|
||||
override public function readObject (ins :ObjectInputStream) :void
|
||||
@@ -152,6 +139,7 @@ public class ASStreamableSubset extends SimpleStreamableObject
|
||||
strings = ins.readField(ArrayStreamer.INSTANCE);
|
||||
nullStrings = ins.readField(ArrayStreamer.INSTANCE);
|
||||
stringMap = ins.readField(MapStreamer.INSTANCE);
|
||||
stringIntMap = ins.readField(MapStreamer.INSTANCE);
|
||||
nullStringMap = ins.readField(MapStreamer.INSTANCE);
|
||||
}
|
||||
|
||||
@@ -177,6 +165,7 @@ public class ASStreamableSubset extends SimpleStreamableObject
|
||||
out.writeField(strings, ArrayStreamer.INSTANCE);
|
||||
out.writeField(nullStrings, ArrayStreamer.INSTANCE);
|
||||
out.writeField(stringMap, MapStreamer.INSTANCE);
|
||||
out.writeField(stringIntMap, MapStreamer.INSTANCE);
|
||||
out.writeField(nullStringMap, MapStreamer.INSTANCE);
|
||||
}
|
||||
// GENERATED STREAMING END
|
||||
|
||||
@@ -57,7 +57,8 @@ public class StreamableTest extends TestCase
|
||||
"0003010001010000000301020301000000030000000100000002000000030000000100000003fffe" +
|
||||
"00106a6176612e6c616e672e537472696e6700036f6e650002000374776f00020005746872656500" +
|
||||
"01000000030002000374776f0002000132000200036f6e6500020001310002000574687265650002" +
|
||||
"00013300");
|
||||
"00013301000000030002000374776ffffd00116a6176612e6c616e672e496e746567657200000002" +
|
||||
"000200036f6e6500030000000100020005746872656500030000000300");
|
||||
var input:ObjectInputStream = new ObjectInputStream(javaData);
|
||||
var read :ASStreamableSubset = input.readObject(ASStreamableSubset);
|
||||
assertTrue(sub.equals(read));
|
||||
|
||||
@@ -55,6 +55,7 @@ public class ASStreamableSubset extends SimpleStreamableObject
|
||||
public List<String> nullStrings;
|
||||
|
||||
public Map<String, String> stringMap = Mapping.of("one", "1", "two", "2", "three", "3");
|
||||
public Map<String, Integer> stringIntMap = Mapping.of("one", 1, "two", 2, "three", 3);
|
||||
public Map<String, String> nullStringMap;
|
||||
|
||||
@Override
|
||||
@@ -84,7 +85,7 @@ public class ASStreamableSubset extends SimpleStreamableObject
|
||||
Objects.equal(strings, ow.strings) && Objects.equal(nullStrings, ow.nullStrings)
|
||||
&&
|
||||
|
||||
Objects.equal(stringMap, ow.stringMap)
|
||||
Objects.equal(stringMap, ow.stringMap) && Objects.equal(stringIntMap, ow.stringIntMap)
|
||||
&& Objects.equal(nullStringMap, ow.nullStringMap);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user