public void KlasaDatum_PostinkrementUvećavaRezultatIPridruženuVarijablu() { KlasaDatum kd = new KlasaDatum(2016, 2, 29); KlasaDatum kd2 = kd++; Assert.AreEqual(new KlasaDatum(2016, 3, 1), kd); Assert.AreEqual(new KlasaDatum(2016, 3, 1), kd2); }
public void KlasaDatum_PreinkrementUvećavaRezultatIPridruženuVarijablu() { KlasaDatum kd = new KlasaDatum(2016, 2, 28); KlasaDatum kd2 = ++kd; Assert.AreEqual(new KlasaDatum(2016, 2, 29), kd); Assert.AreEqual(new KlasaDatum(2016, 2, 29), kd2); }
public void KlasaDatum_PostinkrementUvećavaRezultatIPridruženuVarijablu() { var staticMethods = typeof(KlasaDatum).GetMethods(System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public); var opIncrement = staticMethods.FirstOrDefault(mi => mi.Name == "op_Increment" && mi.ReturnType == typeof(KlasaDatum) && mi.GetParameters().Count() == 1 && mi.GetParameters().ElementAt(0).ParameterType == typeof(KlasaDatum)); Assert.IsNotNull(opIncrement); KlasaDatum kd = new KlasaDatum(2016, 2, 29); KlasaDatum kd2 = (KlasaDatum)opIncrement.Invoke(null, new object[] { kd }); Assert.AreEqual(new KlasaDatum(2016, 2, 29), kd); Assert.AreEqual(new KlasaDatum(2016, 3, 1), kd2); }