diff --git a/tests/unit/framework/validators/BooleanValidatorTest.php b/tests/unit/framework/validators/BooleanValidatorTest.php
new file mode 100644
index 0000000..e13635d
--- /dev/null
+++ b/tests/unit/framework/validators/BooleanValidatorTest.php
@@ -0,0 +1,53 @@
+<?php
+namespace yiiunit\framework\validators;
+use yiiunit\framework\validators\FakedValidationModel;
+use yii\validators\BooleanValidator;
+use yiiunit\TestCase;
+
+require_once __DIR__ . '/FakedValidationModel.php';
+/**
+ * BooleanValidatorTest
+ */
+class BooleanValidatorTest extends TestCase
+{
+	public function testValidateValue()
+	{
+		$val = new BooleanValidator;
+		$this->assertTrue($val->validateValue(true));
+		$this->assertTrue($val->validateValue(false));
+		$this->assertTrue($val->validateValue('0'));
+		$this->assertTrue($val->validateValue('1'));
+		$this->assertTrue($val->validateValue(null));
+		$this->assertTrue($val->validateValue(array()));
+		$val->strict = true;
+		$this->assertTrue($val->validateValue('0'));
+		$this->assertTrue($val->validateValue('1'));
+		$this->assertFalse($val->validateValue(true));
+		$this->assertFalse($val->validateValue(false));
+		$val->trueValue = true;
+		$val->falseValue = false;
+		$this->assertFalse($val->validateValue('0'));
+		$this->assertFalse($val->validateValue(array()));
+		$this->assertTrue($val->validateValue(true));
+		$this->assertTrue($val->validateValue(false));
+	}
+	
+	public function testValidateAttributeAndError()
+	{
+		$obj = new FakedValidationModel;
+		$obj->attrA = true;
+		$obj->attrB = '1';
+		$obj->attrC = '0';
+		$obj->attrD = array();
+		$val = new BooleanValidator;
+		$val->validateAttribute($obj, 'attrA');
+		$this->assertFalse(isset($obj->errors['attrA']));
+		$val->validateAttribute($obj, 'attrC');
+		$this->assertFalse(isset($obj->errors['attrC']));
+		$val->strict = true;
+		$val->validateAttribute($obj, 'attrB');
+		$this->assertFalse(isset($obj->errors['attrB']));
+		$val->validateAttribute($obj, 'attrD');
+		$this->assertTrue(isset($obj->errors['attrD']));
+	}
+}
diff --git a/tests/unit/framework/validators/DefaultValueValidatorTest.php b/tests/unit/framework/validators/DefaultValueValidatorTest.php
new file mode 100644
index 0000000..05a71b5
--- /dev/null
+++ b/tests/unit/framework/validators/DefaultValueValidatorTest.php
@@ -0,0 +1,32 @@
+<?php
+namespace yiiunit\framework\validators;
+use yii\validators\DefaultValueValidator;
+use yiiunit\TestCase;
+
+/**
+ * DefaultValueValidatorTest
+ */
+class DefaultValueValidatorTest extends TestCase
+{
+	public function testValidateAttribute()
+	{
+		$val = new DefaultValueValidator;
+		$val->value = 'test_value';
+		$obj = new \stdclass;
+		$obj->attrA = 'attrA';
+		$obj->attrB = null;
+		$obj->attrC = '';
+		// original values to chek which attritubes where modified
+		$objB = clone $obj;
+		$val->validateAttribute($obj, 'attrB');
+		$this->assertEquals($val->value, $obj->attrB);
+		$this->assertEquals($objB->attrA, $obj->attrA);
+		$val->value = 'new_test_value';
+		$obj = clone $objB; // get clean object
+		$val->validateAttribute($obj, 'attrC');
+		$this->assertEquals('new_test_value', $obj->attrC);
+		$this->assertEquals($objB->attrA, $obj->attrA);
+		$val->validateAttribute($obj, 'attrA');
+		$this->assertEquals($objB->attrA, $obj->attrA);
+	}
+}
diff --git a/tests/unit/framework/validators/FakedValidationModel.php b/tests/unit/framework/validators/FakedValidationModel.php
new file mode 100644
index 0000000..d3c0424
--- /dev/null
+++ b/tests/unit/framework/validators/FakedValidationModel.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace yiiunit\framework\validators;
+
+/**
+ * @codeCoverageIgnore
+ */
+class FakedValidationModel
+{
+	public $errors = array();
+	public function getAttributeLabel($attr)
+	{
+		return 'Attr-Label: '.$attr;
+	}
+	
+	public function addError($attribute, $message)
+	{
+		$this->errors[$attribute] = $message;
+	}
+}
\ No newline at end of file