public void EvaluationKeysTestNET() { var keys = new EvaluationKeys(); Assert.AreEqual(0, keys.Count); keys.Clear(); Assert.AreEqual(0, keys.Count); keys.Resize(2); Assert.AreEqual(2, keys.Count); keys[0].Resize(2, 32); keys[0][0].Set(1); keys[0][1].Set(2); keys[1].Resize(3, 32); keys[1][0].Set(3); keys[1][1].Set(4); keys[1][2].Set(5); Assert.AreEqual("2x^1 + 1", keys[0].ToString()); Assert.AreEqual("5x^2 + 4x^1 + 3", keys[1].ToString()); var keys2 = new EvaluationKeys(); Assert.AreEqual(0, keys2.Count); keys2.Set(keys); Assert.AreEqual(2, keys2.Count); Assert.AreEqual("2x^1 + 1", keys2[0].ToString()); Assert.AreEqual("5x^2 + 4x^1 + 3", keys2[1].ToString()); keys2[1].SetZero(); Assert.AreEqual("5x^2 + 4x^1 + 3", keys[1].ToString()); keys.Resize(3); Assert.AreEqual(3, keys.Count); Assert.AreEqual("2x^1 + 1", keys[0].ToString()); Assert.AreEqual("5x^2 + 4x^1 + 3", keys[1].ToString()); Assert.IsTrue(keys[2].IsZero); keys.Resize(1); Assert.AreEqual(1, keys.Count); Assert.AreEqual("2x^1 + 1", keys[0].ToString()); keys.Clear(); Assert.AreEqual(0, keys.Count); }