public void Clone_CloneInstance_ClonePropertiesAreEqual() { IBitCharger instance = this.CreateInstance(); // 0x02 => 00000010 instance.SetBitAt(0, false); instance.SetBitAt(1, true); instance.SetBitAt(2, false); instance.SetBitAt(3, false); instance.SetBitAt(4, false); instance.SetBitAt(5, false); instance.SetBitAt(6, false); instance.SetBitAt(7, false); // 0xCE => 11001110 instance.SetBitAt(8, false); instance.SetBitAt(9, true); instance.SetBitAt(10, true); instance.SetBitAt(11, true); instance.SetBitAt(12, false); instance.SetBitAt(13, false); instance.SetBitAt(14, true); instance.SetBitAt(15, true); // 0xDA => 11011010 instance.SetBitAt(16, false); instance.SetBitAt(17, true); instance.SetBitAt(18, false); instance.SetBitAt(19, true); instance.SetBitAt(20, true); instance.SetBitAt(21, false); instance.SetBitAt(22, true); instance.SetBitAt(23, true); IBitCharger actual = instance.Clone() as IBitCharger; Assert.That(actual, Is.Not.Null); Assert.That(actual.Capacity, Is.EqualTo(instance.Capacity)); Assert.That(actual.Length, Is.EqualTo(instance.Length)); Assert.That(actual.Bytes, Is.EqualTo(instance.Bytes)); Assert.That(actual.Content, Is.EqualTo(instance.Content)); }