<commit_before>using Uno;
using Uno.UX;
using Uno.Testing;
using Uno.Collections;
using Uno.Compiler;
using Fuse.Navigation;

using FuseTest;

namespace Fuse.Models.Test
{
	public class ModelTest : ModelTestBase
	{
		[Test]
		public void ArgsSingleVectorArg()
		{
			var e = new UX.Model.Args.SingleVectorArg();
			using (var root = TestRootPanel.CreateWithChild(e))
			{
				root.StepFrameJS();
				var extObjVec = (Fuse.Scripting.External) e.result.ObjectValue;
				Assert.AreEqual(e.vec, extObjVec.Object);
			}
		}

		[Test]
		public void ArgsEach()
		{
			var e = new UX.Model.Args.Each();
			using (var root = TestRootPanel.CreateWithChild(e))
			{
				root.StepFrameJS();
				Assert.AreEqual("(foo),(bar),(baz)", GetRecursiveText(e));
				Assert.AreEqual(3, e.innerInstanceCount.Value);
				Assert.AreEqual(1, e.outerInstanceCount.Value);
			}
		}

		[Test]
		public void ArgsScrollView()
		{
			var e = new UX.Model.Args.ScrollView();
			using (var root = TestRootPanel.CreateWithChild(e))
			{
				root.StepFrameJS();
				Assert.AreEqual(0, e.scrollView.ScrollPosition.Y);

				e.doScroll.Perform();
				root.StepFrameJS();<commit_msg>Model: Provide explicit size in ScrollView test<commit_after>using Uno;
using Uno.UX;
using Uno.Testing;
using Uno.Collections;
using Uno.Compiler;
using Fuse.Navigation;

using FuseTest;

namespace Fuse.Models.Test
{
	public class ModelTest : ModelTestBase
	{
		[Test]
		public void ArgsSingleVectorArg()
		{
			var e = new UX.Model.Args.SingleVectorArg();
			using (var root = TestRootPanel.CreateWithChild(e))
			{
				root.StepFrameJS();
				var extObjVec = (Fuse.Scripting.External) e.result.ObjectValue;
				Assert.AreEqual(e.vec, extObjVec.Object);
			}
		}

		[Test]
		public void ArgsEach()
		{
			var e = new UX.Model.Args.Each();
			using (var root = TestRootPanel.CreateWithChild(e))
			{
				root.StepFrameJS();
				Assert.AreEqual("(foo),(bar),(baz)", GetRecursiveText(e));
				Assert.AreEqual(3, e.innerInstanceCount.Value);
				Assert.AreEqual(1, e.outerInstanceCount.Value);
			}
		}

		[Test]
		public void ArgsScrollView()
		{
			var e = new UX.Model.Args.ScrollView();
			using (var root = TestRootPanel.CreateWithChild(e, int2(200)))
			{
				root.StepFrameJS();
				Assert.AreEqual(0, e.scrollView.ScrollPosition.Y);

				e.doScroll.Perform();
				root.StepFrameJS();
{'fraction_non_alphanumeric': 0.13544792113159024, 'fraction_numerical': 0.0042863266180882984, 'mean_word_length': 3.7246963562753037, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7645193', 'n_tokens_mistral': 968, 'n_tokens_neox': 826, 'n_words': 156}