public void StaticYieldOnly()
        {
            var serializer = new IteratorStateConverter();

            IEnumerator<int> iterator = SerializationCoroutines.StaticYieldOnly().GetEnumerator();

            iterator.MoveNext();

            IteratorState state1 = serializer.ToState(iterator);

            Assert.True((int) state1.Current == 1);

            iterator.MoveNext();

            IteratorState state2 = serializer.ToState(iterator);

            Assert.True((int) state2.Current == 2);
        }
        public void StaticYieldWithVarAndArg()
        {
            var serializer = new IteratorStateConverter();

            IEnumerator<int> iterator = SerializationCoroutines.StaticYieldWithVarAndArg(5).GetEnumerator();

            iterator.MoveNext();

            IteratorState state1 = serializer.ToState(iterator);

            Assert.True((int) state1.Current == 5);

            iterator.MoveNext();

            IteratorState state2 = serializer.ToState(iterator);

            Assert.True((int) state2.Current == 15);

            var newIterator = (IEnumerator<int>) serializer.FromState(state2);

            Assert.True(newIterator.Current == 15);
        }