anchor.diff:  %% 
   %% @end
   -spec vstream_subscribe_to_a_stream(_) -> ok | {error, term()}.
  -vstream_subscribe_to_a_stream(_) ->
  -
  -	%% Create a stream in ?ES_INDEX
  -	StreamId = create_a_stream_on_index(?ES_INDEX),
  +vstream_subscribe_to_a_stream({VStreamId, StreamId1, _StreamId2}) ->
   	
   	%% Create virtual stream listening to our stream
  -	VPid = create_virtual_stream("testID", [{stream, StreamId}], count),
  +	%virtual_stream_process_supervisor:start_processes(),
  +	%timer:sleep(5000),
  +	virtual_stream_process_supervisor:add_child(VStreamId, [{stream, StreamId1}], [list_to_binary("count"), "2s"]),
   	
   	%% Create a publisher and consumer exchanges
  -	OutExchange = list_to_binary("streams." ++ StreamId),
  -	InExchange = list_to_binary("vstreams.testID"),
  +	OutExchange = list_to_binary("streams." ++ StreamId1),
  +	InExchange = list_to_binary("vstreams." ++ VStreamId),
   	
   	%% Establish connection to RabbitMQ
   	{ok, Connection} =
  
positive.code: 		  end,
  	
  	%% Close and clean
  	VPid ! quit,
  	amqp_channel:close(ChannelIn),
  	amqp_channel:close(ChannelOut),
  	amqp_connection:close(Connection),
  	
  	case erlastic_search:delete_doc(?ES_INDEX,"stream", StreamId1) of
  		{error, {Code, Body3}} ->
  			erlang:display(api_help:generate_error(Body3, Code));
  		{ok, _} -> ok
  	end,
  	
  	case erlastic_search:delete_doc(?ES_INDEX,"stream", StreamId2) of
  		{error, {Code2, Body4}} ->
  			erlang:display(api_help:generate_error(Body4, Code2));
  		{ok, _} -> ok
  	end,
  
  	[?_assertEqual(true, is_list(StreamId1)),
  	 ?_assertEqual(true, is_list(StreamId2)),
  	 ?_assertEqual({32, "testID"}, Rec1),
  	 ?_assertEqual({64, "testID"}, Rec2)].
  
  
  
  
negative.code: %%
  %% @end
  -spec start_and_terminate(_) -> ok | {error, term()}.
  start_and_terminate({VStreamId, StreamId1, _StreamId2}) ->
  	SupPid = whereis(vstream_sup),
  	Childrens1 = length(supervisor:which_children(vstream_sup)),
  	
  	virtual_stream_process_supervisor:add_child(VStreamId, [{stream, StreamId1}], [list_to_binary("count"), "2s"]),
  	%virtual_stream_process_supervisor:start_processes(),
  	%timer:sleep(5000),
  
  	Childrens2 = length(supervisor:which_children(vstream_sup)),
  	Pid = element(2, lists:nth(1, supervisor:which_children(vstream_sup))),
  	Info1 = is_process_alive(Pid),
  	Pid ! quit,
  	timer:sleep(1500),
  	Info2 = is_process_alive(Pid),
  	[?_assertEqual(true, is_pid(SupPid)),
  	 ?_assertEqual(0, Childrens1),
  	 ?_assertEqual(1, Childrens2),
  	 ?_assertEqual(true, Info1),
  	 ?_assertEqual(false, Info2)].
  
  
  