// Path: src/main/java/com/marcospassos/phpserializer/WriterState.java
// public interface WriterState
// {
// 
//     /**
//      * Checks whether the current state represents a referable value.
//      *
//      * @return {@code true} if the current state represents a referable value,
//      * or {@code false} otherwise.
//      */
//     boolean isReferable();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState serializableBegin();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState serializableEnd();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState objectBegin();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState property();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState value();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState objectEnd();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState arrayBegin();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState key();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState arrayEnd();
// }


import com.marcospassos.phpserializer.WriterState;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
package com.marcospassos.phpserializer.state;



/**
 * @author Marcos Passos
 * @since 1.0
 */
public class WritingObjectStateTest
{
    private WritingObjectState state;
// Path: src/main/java/com/marcospassos/phpserializer/WriterState.java
// public interface WriterState
// {
// 
//     /**
//      * Checks whether the current state represents a referable value.
//      *
//      * @return {@code true} if the current state represents a referable value,
//      * or {@code false} otherwise.
//      */
//     boolean isReferable();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState serializableBegin();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState serializableEnd();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState objectBegin();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState property();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState value();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState objectEnd();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState arrayBegin();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState key();
// 
//     /**
//      * Returns the new state generated as a result of transitions from the
//      * current state to the new state.
//      *
//      * @return WriterState The new state.
//      *
//      * @throws IllegalStateException if the current state does not allow the
//      * transition to the new state.
//      */
//     WriterState arrayEnd();
// }


// Path: src/test/java/com/marcospassos/phpserializer/state/WritingObjectStateTest.java
import com.marcospassos.phpserializer.WriterState;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;

package com.marcospassos.phpserializer.state;



/**
 * @author Marcos Passos
 * @since 1.0
 */
public class WritingObjectStateTest
{
    private WritingObjectState state;
    private WriterState parent;