--- /dev/null
+<?php
+
+namespace Doctrine\Tests\Mocks;
+
+use Doctrine\ORM\EntityManager;
+
+class SequenceMock extends \Doctrine\ORM\Id\SequenceGenerator
+{
+ private $_sequenceNumber = 0;
+
+ public function generate(EntityManager $em, $entity)
+ {
+ return $this->_sequenceNumber++;
+ }
+
+ /**
+ * @override
+ */
+ public function nextId($seqName, $ondemand = true)
+ {
+ return $this->_sequenceNumber++;
+ }
+
+ /**
+ * @override
+ */
+ public function lastInsertId($table = null, $field = null)
+ {
+ return $this->_sequenceNumber - 1;
+ }
+
+ /**
+ * @override
+ */
+ public function currId($seqName)
+ {
+ return $this->_sequenceNumber;
+ }
+
+ /* Mock API */
+
+ public function reset()
+ {
+ $this->_sequenceNumber = 0;
+ }
+
+ public function autoinc()
+ {
+ $this->_sequenceNumber++;
+ }
+}
+