NAME
   Fuckin::Lazy - Lazy way to produce test structures (Or a very bad idea)

WARNING
   Warning! Using the module would fall squarely into BAD PRACTICE. You
   should predict what structures your code produces and put them into the
   test yourself. Simply dumping a result and testing against it is a bad
   idea. The only exception to this policy is when writing tests to make
   sure the output does not change from what it currently is.

SYNOPSIS
       use Test::More;
       use Fuckin::Lazy qw/LAZY/;

       my $foo = { a => 1, b => 2 };

       is_deeply($foo, Fuckin'Lazy($foo), "Foo");

       is_deeply(
           $foo,
           LAZY($foo),
           "Foo"
       );

       is_deeply($foo, LAZY($foo), "Foo");

       done_testing;

   The first time you run the above test it will alter the test file itself
   to produce this:

       use Test::More;
       use Fuckin::Lazy qw/LAZY/;

       my $foo = { a => 1, b => 2 };

       is_deeply($foo, {"a" => 1,"b" => 2}, "Foo");

       is_deeply(
           $foo,
           {"a" => 1,"b" => 2},
           "Foo"
       );

       is_deeply($foo, {"a" => 1,"b" => 2}, "Foo");

       done_testing;

DESCRIPTION
   A poor implementation of a bad idea!

EXPORTS
   LAZY($var)
       This function will turn the argument into the code for a perl data
       structure and replace itself with the code. This is done when the
       file is run. The data structure passed in is returned unchanged
       allowing the test to pass.

MAGIC
   Fuckin'Lazy($var)
       Same as the LAZY() export, except it is the Fuckin::Lazy function,
       not exported. The "'" can be used in place of "::" due to legacy
       perl support.

IDEA
   Thanks to Joshua Keroes for proposing the idea.

   "Fucking::Lazy is beautifully horrible" - mst

COPYRIGHT
   Copyright 2014 Chad Granum <[email protected]>.

   This program is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.

   See http://www.perl.com/perl/misc/Artistic.html