anchor.diff:      case crypto:rand_uniform(0, 2) of
           0 -> false;
           1 -> true
  -    end;
  -create_value_(nil, _Size, _ParseState) ->
  -    [];
  -create_value_(node, _Size, _ParseState) ->
  -    % @todo
  -    node();
  -create_value_(pid, _Size, _ParseState) ->
  -    % @todo
  -    self();
  -create_value_(atom, _Size, ParseState) ->
  -    create_val_50rand_50coll(
  -      ParseState, fun tester_parse_state:get_atoms/1,
  -      fun() -> lists:nth(crypto:rand_uniform(1, 5), [one, two, three, four]) end);
  -create_value_(float, _Size, ParseState) ->
  -    create_val_50rand_50coll(
  -      ParseState, fun tester_parse_state:get_floats/1,
  -      fun() -> crypto:rand_uniform(-5, 5) * (crypto:rand_uniform(0, 30323) / 30323.0) end);
  -create_value_({range, {integer, Low}, {integer, High}}, _Size, _ParseState) ->
  -    crypto:rand_uniform(Low, High + 1);
  -create_value_({union, Types}, Size, ParseState) ->
  -    Length = length(Types),
  -    create_value(lists:nth(crypto:rand_uniform(1, Length + 1), Types),
  -                 Size, ParseState);
  -create_value_({record, Module, TypeName}, Size, ParseState) ->
  -    case tester_parse_state:lookup_type({record, Module, TypeName}, ParseState) of
  -        {value, RecordType} ->
  -            create_record_value(TypeName, RecordType, Size, ParseState);
  -        none ->
  -            ?ct_fail("error: unknown record type: ~p:~p", [Module, TypeName])
  -    end;
  -create_value_({record, _Module, TypeName, FieldTypes}, Size, ParseState) ->
  -    create_record_value(TypeName, FieldTypes, Size, ParseState);
  -create_value_({typed_record_field, _Name, Type}, Size, ParseState) ->
  -    create_value(Type, Size, ParseState);
  -create_value_({field_type, _Name, Type}, Size, ParseState) ->
  -    create_value(Type, Size, ParseState);
  -%%create_value({typedef, tester, test_any}, Size, TypeInfo) ->
  -    %% @todo
  -create_value_({typedef, Module, TypeName}, Size, ParseState) ->
  -    case tester_parse_state:lookup_type({type, Module, TypeName}, ParseState) of
  -        {value, TypeSpec} ->
  -            create_value(TypeSpec, Size, ParseState);
  -        none ->
  -            ?ct_fail("error: unknown type ~p:~p~n", [Module, TypeName])
       end;
   create_value_({builtin_type, array}, Size, ParseState) ->
       L = create_value({list,
  
positive.code: create_value_({builtin_type, module}, _Size, _ParseState) ->
      Values = [element(1, X) || X <- code:all_loaded()],
      lists:nth(crypto:rand_uniform(1, length(Values) + 1), Values);
  create_value_(Unknown , _Size, _ParseState) ->
      ct:pal("Cannot create type ~.0p~n", [Unknown]),
      throw(function_clause).
  
negative.code: %% @version $Id$
  -module(tester_value_creator).
  -author('schuett@zib.de').
  -vsn('$Id$ ').
  
  -include("unittest.hrl").
  -include("tester.hrl").
  