using Claunia.PropertyList; using Xunit; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace plistcil.test { public class NSArrayTests { /// /// Tests the addition of a .NET object to the NSArray /// [Fact] public void AddAndContainsObjectTest() { NSArray array = new NSArray(); array.Add(1); Assert.True(array.Contains(1)); Assert.False(array.Contains(2)); } /// /// Tests the method for .NET objects. /// [Fact] public void IndexOfTest() { NSArray array = new NSArray(); array.Add(1); array.Add("test"); Assert.Equal(0, array.IndexOf(1)); Assert.Equal(1, array.IndexOf("test")); } /// /// Tests the method for a /// .NET object. /// [Fact] public void InsertTest() { NSArray array = new NSArray(); array.Add(0); array.Add(1); array.Add(2); array.Insert(1, "test"); Assert.Equal(4, array.Count); Assert.Equal("test", array.ObjectAtIndex(1).ToObject()); } /// /// Tests the method for a .NET object. /// [Fact] public void RemoveTest() { NSArray array = new NSArray(); array.Add(0); Assert.False(array.Remove((object)1)); Assert.True(array.Remove((object)0)); Assert.Equal(0, array.Count); } /// /// Tests the method. /// [Fact] public void EnumeratorTest() { NSArray array = new NSArray(); array.Add(0); array.Add(1); var enumerator = array.GetEnumerator(); Assert.Null(enumerator.Current); Assert.True(enumerator.MoveNext()); Assert.Equal(new NSNumber(0), enumerator.Current); Assert.True(enumerator.MoveNext()); Assert.Equal(new NSNumber(1), enumerator.Current); Assert.False(enumerator.MoveNext()); } } }