FILES[] =
socket
+ packet
+ serialize
UseCamlp4(pa_openin pa_oo pa_field pa_monad)
PROGRAM=../debugger
OUnitTest(socket, socket)
OUnitTest(packet, packet)
OUnitTest(writer, writer)
+OUnitTest(serialize, serialize writer)
# phony
.PHONY: clean
--- /dev/null
+open Base
+
+module StrMonoid = struct
+ type t = string
+ let mempty = ""
+ let mappend = (^)
+end
+
+module M = Writer.Make(StrMonoid)
+
+
+let db _ = assert false
+let dw _ = assert false
+let dd _ = assert false
+let sz _ = assert false
+
--- /dev/null
+module M : sig
+ type w = string
+ type 'a m
+ val bind : 'a m -> ('a -> 'b m) -> 'b m
+ val ret : 'a -> 'a m
+ val runWriter : 'a m -> 'a * w
+end
+
+val db : int -> unit M.m
+val dw : int -> unit M.m
+val dd : int -> unit M.m
+val sz : string -> unit M.m
--- /dev/null
+open Base
+open OUnit
+
+open Serialize.M
+open Serialize
+
+let _ = begin "serialize.ml" >::: [
+ "monad" >:: begin fun () ->
+ let m = perform with module Serialize.M in begin
+ db 42
+ end in
+ let data =
+ snd @@ runWriter m in
+ assert_equal "" data
+ end
+] end +> run_test_tt_main