- Timestamp:
- 06/30/08 00:08:52 (6 months ago)
- Files:
-
- trunk/examples/util/serializer/FunctionTest.d (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/examples/util/serializer/FunctionTest.d
r59 r61 2314 2314 2315 2315 //------------------------------------------------------------------------------ 2316 /+2317 TODO: Custom loaders/dumpers don't work with binary2318 2316 unittest { testCase.execute("load/dump - custom loaders/dumpers", { 2319 2317 MyClass input; … … 2321 2319 2322 2320 binserializer.global().typeDescription!(MyClass).loader = 2323 delegate bool (ref MyClass value, binserializer.Archive archive) { 2321 delegate bool (ref MyClass value, binserializer.Archive archive) 2322 { 2324 2323 value = new MyClass; 2325 2324 … … 2328 2327 } 2329 2328 2330 skip(archive.storage, archive.defSkip.p_skip);2331 2329 check(archive.traverse(value.x)); 2332 check(skip(archive.storage, "-") != 0);2333 2330 check(archive.traverse(value.y)); 2334 check(skip(archive.storage, "-") != 0);2335 2331 check(archive.traverse(value.z)); 2336 2332 2337 2333 //TODO: rethink visibility of methods; e.g. traverse to Archive?? 2338 2334 return true; 2339 } ;2335 } ; 2340 2336 2341 2337 binserializer.global().typeDescription!(MyClass).dumper = 2342 delegate bool (ref MyClass value, binserializer.Archive archive) { 2343 archive.storage.put(format("%d-%d-%d", value.x, value.y, value.z)); 2338 delegate bool (ref MyClass value, binserializer.Archive archive) 2339 { 2340 archive.traverse(value.x); 2341 archive.traverse(value.y); 2342 archive.traverse(value.z); 2344 2343 return true; 2345 2344 }; … … 2347 2346 input = new MyClass; input.x = 5; input.y = 10; input.z = 15; 2348 2347 output = binserializer.dump(input); 2349 trace(output);2350 assert(output == "5-10-15");2351 2348 assert(binserializer.load!(MyClass)(output) == input); 2352 2349 });} 2353 +/2354 2350 2355 2351
