83 строки
2.1 KiB
C#
83 строки
2.1 KiB
C#
|
//
|
||
|
// Unit tests for NSUserDefaults
|
||
|
//
|
||
|
// Authors:
|
||
|
// Sebastien Pouliot <sebastien@xamarin.com>
|
||
|
//
|
||
|
// Copyright 2012 Xamarin Inc. All rights reserved.
|
||
|
//
|
||
|
|
||
|
using System;
|
||
|
#if XAMCORE_2_0
|
||
|
using Foundation;
|
||
|
using UIKit;
|
||
|
using ObjCRuntime;
|
||
|
#else
|
||
|
using MonoTouch.Foundation;
|
||
|
using MonoTouch.ObjCRuntime;
|
||
|
using MonoTouch.UIKit;
|
||
|
#endif
|
||
|
using NUnit.Framework;
|
||
|
|
||
|
#if XAMCORE_2_0
|
||
|
using RectangleF=CoreGraphics.CGRect;
|
||
|
using SizeF=CoreGraphics.CGSize;
|
||
|
using PointF=CoreGraphics.CGPoint;
|
||
|
#else
|
||
|
using nfloat=global::System.Single;
|
||
|
using nint=global::System.Int32;
|
||
|
using nuint=global::System.UInt32;
|
||
|
#endif
|
||
|
|
||
|
namespace MonoTouchFixtures.Foundation {
|
||
|
|
||
|
[TestFixture]
|
||
|
[Preserve (AllMembers = true)]
|
||
|
public class UserDefaultsTest {
|
||
|
|
||
|
[Test]
|
||
|
public void SetString ()
|
||
|
{
|
||
|
// confusing API for .NET developers since the parameters are 'value', 'key'
|
||
|
// http://stackoverflow.com/q/12415054/220643
|
||
|
NSUserDefaults defaults = NSUserDefaults.StandardUserDefaults;
|
||
|
defaults.RemoveObject ("spid");
|
||
|
Assert.Null (defaults.StringForKey ("spid"), "StringForKey-1");
|
||
|
defaults.SetString ("coucou", "spid");
|
||
|
defaults.Synchronize ();
|
||
|
Assert.That (defaults.StringForKey ("spid"), Is.EqualTo ("coucou"), "StringForKey-2");
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void Ctor_UserName ()
|
||
|
{
|
||
|
// initWithUser:
|
||
|
using (var ud = new NSUserDefaults ("username")) {
|
||
|
Assert.That (ud.RetainCount, Is.EqualTo ((nint) 1), "RetainCount");
|
||
|
ud.SetString ("value", "key");
|
||
|
ud.Synchronize ();
|
||
|
}
|
||
|
|
||
|
using (var ud = new NSUserDefaults ("username", NSUserDefaultsType.UserName)) {
|
||
|
Assert.That (ud.RetainCount, Is.EqualTo ((nint) 1), "RetainCount");
|
||
|
Assert.That (ud ["key"].ToString (), Is.EqualTo ("value"), "[key]-1");
|
||
|
ud.RemoveObject ("key");
|
||
|
ud.Synchronize ();
|
||
|
Assert.Null (ud ["key"], "[key]-2");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void Ctor_SuiteName ()
|
||
|
{
|
||
|
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
||
|
Assert.Ignore ("Requires iOS7");
|
||
|
|
||
|
// initWithSuiteName:
|
||
|
using (var ud = new NSUserDefaults ("suitename", NSUserDefaultsType.SuiteName)) {
|
||
|
Assert.That (ud.RetainCount, Is.EqualTo ((nint) 1), "RetainCount");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|