def test_followers(self):
		#testing db is empty
		assert User.query.count() is 0

        	u1 = User('testuser1', 'testpassword1')
        	u2 = User('testuser2', 'testpassword2')
        	ua1 = User('testadmin1', 'testpassword1', True)
        	ua2 = User('testadmin2', 'testpassword2', True)

		db.session.add(u1)
        	db.session.add(u2)
		db.session.add(ua1)
		db.session.add(ua2)
        	db.session.commit()
		assert User.query.count() is 4

		#ensure there is currently no one following each other
        	assert u1.unfollow(u2) is None
        	assert u2.unfollow(u1) is None
		assert ua1.unfollow(ua2) is None
		assert ua2.unfollow(ua1) is None
		assert ua1.unfollow(u1) is None
		assert ua2.unfollow(u2) is None
		#make users follow each other and check success (follow returns self on success)
		assert u1.follow(u2) is not None
		assert u1.check_following(u2)
		assert u1.followed.count() is 1
		assert u2 in u1.get_followers()
		assert u1 in u2.get_followed()

		assert ua1.follow(ua2) is not None
		assert ua1.check_following(ua2)
		assert ua1.followed.count() is 1
		assert ua2 in ua1.get_followers()
		assert ua1 in ua2.get_followed()
		
		assert ua1.follow(u1) is not None
		assert ua1.check_following(u1)
		assert ua1.followed.count() == 2
		assert u1 in ua1.get_followers()
		assert ua1 in u1.get_followed()

		#check doing same follows does not succeed (follow returns None on failure)
		assert u1.follow(u2) is None
		assert ua1.follow(ua2) is None
		assert ua1.follow(u1) is None
		#test unfollow
		assert u1.unfollow(u2) is not None
		assert ua1.unfollow(ua2) is not None
		assert ua1.unfollow(u1) is not None
		assert not u1.check_following(u2)
		assert not ua1.check_following(ua2)
		assert not ua1.check_following(u2)
	def test_posts(self):
		#testing db is empty
		assert User.query.count() is 0
		assert Post.query.count() is 0

        	u1 = User('testuser1', 'testpassword1')
        	u2 = User('testuser2', 'testpassword2')
        	ua1 = User('testadmin1', 'testpassword1', True)
        	ua2 = User('testadmin2', 'testpassword2', True)

		db.session.add(u1)
        	db.session.add(u2)
		db.session.add(ua1)
		db.session.add(ua2)
        	db.session.commit()
		assert User.query.count() is 4

		#need to first create followers for future posts testing
		#ensure there is currently no one following each other
        	assert u1.unfollow(u2) is None
        	assert u2.unfollow(u1) is None
		assert ua1.unfollow(ua2) is None
		assert ua2.unfollow(ua1) is None
		assert ua1.unfollow(u1) is None
		assert ua2.unfollow(u2) is None
		#make users follow each other and check success (follow returns self on success)
		assert u1.follow(u2) is not None
		assert u1.check_following(u2)
		assert u1.followed.count() is 1
		assert u2 in u1.get_followers()
		assert u1 in u2.get_followed()

		assert ua1.follow(ua2) is not None
		assert ua1.check_following(ua2)
		assert ua1.followed.count() is 1
		assert ua2 in ua1.get_followers()
		assert ua1 in ua2.get_followed()
		
		assert ua1.follow(u1) is not None
		assert ua1.check_following(u1)
		assert ua1.followed.count() == 2
		assert u1 in ua1.get_followers()
		assert ua1 in u1.get_followed()

		#test creating posts
		assert u1.create_post("This is user1's post!") is not None
		assert len(u1.get_posts()) is 1
		assert (u1.get_posts()[0].message == "This is user1's post!")
		assert u1.get_posts()[0].owner == u1.username

		assert u2.create_post("This is user2's post!") is not None
		assert len(u2.get_posts()) is 1
		assert (u2.get_posts()[0].message == "This is user2's post!")
		assert u2.get_posts()[0].owner == u2.username
		
		assert ua1.create_post("This is admin1's post!") is not None
		assert len(ua1.get_posts()) is 1
		assert (ua1.get_posts()[0].message == "This is admin1's post!")
		assert ua1.get_posts()[0].owner == ua1.username

		#test fetching followers posts
		assert len(u1.get_followers_posts()) is 1
		assert (u1.get_followers_posts()[0].message == "This is admin1's post!")
		assert u1.get_followers_posts()[0].owner == ua1.username
		assert len(u1.get_following_posts()) is 1
		assert (u1.get_following_posts()[0].message == "This is user2's post!")
		assert u1.get_following_posts()[0].owner == u2.username
		assert len(u2.get_followers_posts()) is 1
		assert (u2.get_followers_posts()[0].message == "This is user1's post!")
		assert u2.get_followers_posts()[0].owner == u1.username
		assert len(u2.get_following_posts()) is 0
		assert len(ua1.get_followers_posts()) is 0
		assert len(ua1.get_following_posts()) is 1
		assert (ua1.get_following_posts()[0].message == "This is user1's post!")
		assert ua1.get_following_posts()[0].owner == u1.username

		#unfollow
		assert u1.unfollow(u2) is not None
		assert ua1.unfollow(ua2) is not None
		assert ua1.unfollow(u1) is not None
		assert not u1.check_following(u2)
		assert not ua1.check_following(ua2)
		assert not ua1.check_following(u2)		
		
		#test fetching followers posts
		assert len(u1.get_following_posts()) is 0
		assert len(u1.get_followers_posts()) is 0
		assert len(u2.get_following_posts()) is 0
		assert len(u2.get_followers_posts()) is 0
		assert len(ua1.get_following_posts()) is 0
		assert len(ua1.get_followers_posts()) is 0