# isCircularPlainObject > Test if a value is a plain object containing a circular reference.
## Usage ```javascript var isCircularPlainObject = require( '@stdlib/assert/is-circular' ); ``` #### isCircularPlainObject( value ) Tests if a `value` is a plain `object` containing a circular reference. ```javascript var obj = { 'beep': 'boop' }; var bool = isCircularPlainObject( obj ); // returns false obj.self = obj; bool = isCircularPlainObject( obj ); // returns true ```
## Examples ```javascript var isCircularPlainObject = require( '@stdlib/assert/is-circular' ); var obj1 = { 'a': 'beep', 'b': { 'c': 'boop' } }; obj1.b.self = obj1; var bool = isCircularPlainObject( obj1 ); // returns true var obj2 = { 'a': {}, 'b': obj1 }; bool = isCircularPlainObject( obj2 ); // returns true var arr = [ 1, 2, 3 ]; arr.push( arr ); bool = isCircularPlainObject( arr ); // returns false var obj3 = { 'beep': 'boop' }; bool = isCircularPlainObject({ 'a': obj3, 'b': obj3 }); // returns false bool = isCircularPlainObject( {} ); // returns false bool = isCircularPlainObject( null ); // returns false ```