public void TestIsElementForNeutralElementAndNoCofactor() { var groupAlgebra = new MultiplicativeGroupAlgebra(BigPrime.CreateWithoutChecks(11), BigPrime.CreateWithoutChecks(10), 2); Assert.That(groupAlgebra.IsPotentialElement(groupAlgebra.NeutralElement)); Assert.That(!groupAlgebra.IsSafeElement(groupAlgebra.NeutralElement)); }
public void TestGetHashCodeSameForEqual() { var otherAlgebra = new MultiplicativeGroupAlgebra( prime, order, generator ); Assert.That(groupAlgebra !.GetHashCode() == otherAlgebra.GetHashCode()); }
public void TestEqualsTrue() { var otherAlgebra = new MultiplicativeGroupAlgebra( prime, order, generator ); Assert.That(groupAlgebra !.Equals(otherAlgebra)); }
public void TestEqualsFalseForOtherAlgebra() { var otherAlgebra = new MultiplicativeGroupAlgebra( BigPrime.CreateWithoutChecks(2 * 53 + 1), BigPrime.CreateWithoutChecks(53), 4 ); Assert.IsFalse(groupAlgebra !.Equals(otherAlgebra)); }
public void TestCreateCryptoGroup() { var group = MultiplicativeGroupAlgebra.CreateCryptoGroup( prime, order, generator ); var expectedGroupAlgebra = new MultiplicativeGroupAlgebra( prime, order, generator ); Assert.That(group.Algebra.Equals(expectedGroupAlgebra)); }
public void TestDispose() { var algebra = new MultiplicativeGroupAlgebra( prime, order, generator ); Assert.That(!algebra.Generator.Handle.IsClosed); algebra.Dispose(); Assert.That(algebra.Generator.Handle.IsClosed); Assert.DoesNotThrow(algebra.Dispose); }