public void CountTest() { var a = new StvBallot(); Assert.Throws <ArgumentException>(() => a.Add(-1)); Assert.Throws <ArgumentException>(() => a.Add(0)); Assert.Throws <ArgumentException>(() => a.Add(int.MinValue)); Assert.Throws <ArgumentException>(() => a.Add(int.MaxValue)); a.Add((int)(int.MaxValue * 2d / 3d)); Assert.Throws <OverflowException>(() => a.Add((int)(int.MaxValue * 2d / 3d))); //Assert.Throws<ArgumentException>(() => a.AddWeight(double.NaN)); //Assert.Throws<ArgumentException>(() => a.AddWeight(double.MaxValue)); //Assert.Throws<ArgumentException>(() => a.AddWeight(double.PositiveInfinity)); //Assert.Throws<ArgumentException>(() => a.AddWeight(0)); //Assert.Throws<ArgumentException>(() => a.AddWeight(-1)); //a.AddWeight(10); //Assert.Throws<ArgumentException>(() => a.AddWeight(double.MaxValue * (1d / 3d))); //var b = new StvBallot(); //b.AddWeight(double.MaxValue * (1d / 3d)); //Assert.Throws<ArgumentException>(() => b.AddWeight(10)); //b.AddWeight(double.MaxValue * (1d / 3d)); //Assert.Throws<ArgumentException>(() => a.AddWeight(double.MaxValue * (2d / 3d))); }
public void EmptyBallotsTest() { var a = new StvBallot(); Assert.IsNotNull(a.OrderedCandidatesIds); Assert.IsTrue(a.HasSame(null)); Assert.IsTrue(a.HasSame(new int[0])); }
public void CompareTest() { var a = new StvBallot(new[] { 1, 2 }); Assert.IsFalse(a.HasSame(null)); Assert.IsFalse(a.HasSame(new int[] { })); Assert.IsFalse(a.HasSame(new int[] { 1 })); Assert.IsFalse(a.HasSame(new int[] { 1, 2, 3 })); Assert.IsFalse(a.HasSame(new int[] { 1, 3 })); Assert.IsTrue(a.HasSame(new int[] { 1, 2 })); }
public StvBallotWithWeight(StvBallot ballot) { this.ballot = ballot; Weight = ballot.Count; }