[{"data":1,"prerenderedAt":690},["ShallowReactive",2],{"docs-navigation":3,"api-catalog":188,"api-nav-empty":286,"docs:\u002Fdocs\u002Fhow-to\u002Fregister-freeze-inject":287,"docs:\u002Fdocs\u002Fhow-to\u002Fregister-freeze-inject-surround":687},[4],{"title":5,"path":6,"stem":7,"children":8,"page":32},"Docs","\u002Fdocs","docs",[9,33,63,85,99,137,154],{"title":10,"badge":11,"icon":12,"path":13,"stem":14,"children":15,"page":32},"Get started",null,"i-lucide-rocket","\u002Fdocs\u002Fget-started","docs\u002F1.get-started",[16,20,24,28],{"title":17,"path":18,"stem":19,"badge":11},"Introduction","\u002Fdocs\u002Fget-started\u002Fintroduction","docs\u002F1.get-started\u002F1.introduction",{"title":21,"path":22,"stem":23,"badge":11},"Installation","\u002Fdocs\u002Fget-started\u002Finstallation","docs\u002F1.get-started\u002F2.installation",{"title":25,"path":26,"stem":27,"badge":11},"Your first test","\u002Fdocs\u002Fget-started\u002Ffirst-test","docs\u002F1.get-started\u002F3.first-test",{"title":29,"path":30,"stem":31,"badge":11},"Refactoring a test","\u002Fdocs\u002Fget-started\u002Frefactoring-a-test","docs\u002F1.get-started\u002F4.refactoring-a-test",false,{"title":34,"badge":11,"icon":35,"path":36,"stem":37,"children":38,"page":32},"Fundamentals","i-lucide-layers","\u002Fdocs\u002Ffundamentals","docs\u002F2.fundamentals",[39,43,47,51,55,59],{"title":40,"path":41,"stem":42,"badge":11},"Fixture and Create","\u002Fdocs\u002Ffundamentals\u002Ffixture-and-create","docs\u002F2.fundamentals\u002F1.fixture-and-create",{"title":44,"path":45,"stem":46,"badge":11},"Build DSL","\u002Fdocs\u002Ffundamentals\u002Fbuild-dsl","docs\u002F2.fundamentals\u002F2.build-dsl",{"title":48,"path":49,"stem":50,"badge":11},"Customizations","\u002Fdocs\u002Ffundamentals\u002Fcustomizations","docs\u002F2.fundamentals\u002F3.customizations",{"title":52,"path":53,"stem":54,"badge":11},"Specimen graphs","\u002Fdocs\u002Ffundamentals\u002Fspecimen-graphs","docs\u002F2.fundamentals\u002F4.specimen-graphs",{"title":56,"path":57,"stem":58,"badge":11},"Behaviors","\u002Fdocs\u002Ffundamentals\u002Fbehaviors","docs\u002F2.fundamentals\u002F5.behaviors",{"title":60,"path":61,"stem":62,"badge":11},"Customizations catalog","\u002Fdocs\u002Ffundamentals\u002Fcustomizations-catalog","docs\u002F2.fundamentals\u002F6.customizations-catalog",{"title":64,"badge":11,"icon":65,"path":66,"stem":67,"children":68,"page":32},"How-to guides","i-lucide-book-open","\u002Fdocs\u002Fhow-to","docs\u002F3.how-to",[69,73,77,81],{"title":70,"path":71,"stem":72,"badge":11},"Collections","\u002Fdocs\u002Fhow-to\u002Fcollections","docs\u002F3.how-to\u002F1.collections",{"title":74,"path":75,"stem":76,"badge":11},"Circular references","\u002Fdocs\u002Fhow-to\u002Fcircular-refs","docs\u002F3.how-to\u002F2.circular-refs",{"title":78,"path":79,"stem":80,"badge":11},"Register, Freeze, and Inject","\u002Fdocs\u002Fhow-to\u002Fregister-freeze-inject","docs\u002F3.how-to\u002F3.register-freeze-inject",{"title":82,"path":83,"stem":84,"badge":11},"Data annotations","\u002Fdocs\u002Fhow-to\u002Fdata-annotations","docs\u002F3.how-to\u002F4.data-annotations",{"title":86,"badge":11,"icon":87,"path":88,"stem":89,"children":90,"page":32},"Extensions","i-lucide-puzzle","\u002Fdocs\u002Fextensions","docs\u002F4.extensions",[91,95],{"title":92,"path":93,"stem":94,"badge":11},"Idioms","\u002Fdocs\u002Fextensions\u002Fidioms","docs\u002F4.extensions\u002F1.idioms",{"title":96,"path":97,"stem":98,"badge":11},"Seed extensions","\u002Fdocs\u002Fextensions\u002Fseed-extensions","docs\u002F4.extensions\u002F2.seed-extensions",{"title":100,"badge":11,"icon":101,"path":102,"stem":103,"children":104,"page":32},"Integrations","i-lucide-plug","\u002Fdocs\u002Fintegrations","docs\u002F5.integrations",[105,109,113,117,121,125,129],{"title":106,"path":107,"stem":108,"badge":11},"Overview","\u002Fdocs\u002Fintegrations\u002Foverview","docs\u002F5.integrations\u002F00.overview",{"title":110,"path":111,"stem":112,"badge":11},"xUnit.net 3","\u002Fdocs\u002Fintegrations\u002Fxunit3","docs\u002F5.integrations\u002F01.xunit3",{"title":114,"path":115,"stem":116,"badge":11},"AutoMoq","\u002Fdocs\u002Fintegrations\u002Fautomoq","docs\u002F5.integrations\u002F02.automoq",{"title":118,"path":119,"stem":120,"badge":11},"NUnit 4","\u002Fdocs\u002Fintegrations\u002Fnunit4","docs\u002F5.integrations\u002F04.nunit4",{"title":122,"path":123,"stem":124,"badge":11},"AutoNSubstitute","\u002Fdocs\u002Fintegrations\u002Fautonsubstitute","docs\u002F5.integrations\u002F06.autonsubstitute",{"title":126,"path":127,"stem":128,"badge":11},"AutoFakeItEasy","\u002Fdocs\u002Fintegrations\u002Fautofakeiteasy","docs\u002F5.integrations\u002F09.autofakeiteasy",{"title":130,"path":131,"stem":132,"badge":133},"TUnit","\u002Fdocs\u002Fintegrations\u002Ftunit","docs\u002F5.integrations\u002F10.tunit",{"label":134,"color":135,"variant":136},"Preview","warning","subtle",{"title":138,"badge":11,"icon":139,"path":140,"stem":141,"children":142,"page":32},"Advanced","i-lucide-cog","\u002Fdocs\u002Fadvanced","docs\u002F6.advanced",[143,146,150],{"title":106,"path":144,"stem":145,"badge":11},"\u002Fdocs\u002Fadvanced\u002Foverview","docs\u002F6.advanced\u002F0.overview",{"title":147,"path":148,"stem":149,"badge":11},"Specimen pipeline","\u002Fdocs\u002Fadvanced\u002Fspecimen-pipeline","docs\u002F6.advanced\u002F1.specimen-pipeline",{"title":151,"path":152,"stem":153,"badge":11},"Specimen builders and specifications","\u002Fdocs\u002Fadvanced\u002Fspecimen-builders-and-specifications","docs\u002F6.advanced\u002F2.specimen-builders-and-specifications",{"title":155,"badge":11,"icon":156,"path":157,"stem":158,"children":159,"page":32},"Reference","i-lucide-library","\u002Fdocs\u002Freference","docs\u002F7.reference",[160,164,168,172,176,180,184],{"title":161,"path":162,"stem":163,"badge":11},"NuGet packages","\u002Fdocs\u002Freference\u002Fpackages","docs\u002F7.reference\u002F1.packages",{"title":165,"path":166,"stem":167,"badge":11},"API reference","\u002Fdocs\u002Freference\u002Fapi-reference","docs\u002F7.reference\u002F2.api-reference",{"title":169,"path":170,"stem":171,"badge":11},"Cheat sheet","\u002Fdocs\u002Freference\u002Fcheat-sheet","docs\u002F7.reference\u002F3.cheat-sheet",{"title":173,"path":174,"stem":175,"badge":11},"FAQ","\u002Fdocs\u002Freference\u002Ffaq","docs\u002F7.reference\u002F4.faq",{"title":177,"path":178,"stem":179,"badge":11},"Compatibility","\u002Fdocs\u002Freference\u002Fcompatibility","docs\u002F7.reference\u002F5.compatibility",{"title":181,"path":182,"stem":183,"badge":11},"v4 to v5 migration","\u002Fdocs\u002Freference\u002Fv4-to-v5-migration","docs\u002F7.reference\u002F6.v4-to-v5-migration",{"title":185,"path":186,"stem":187,"badge":11},"Previous versions","\u002Fdocs\u002Freference\u002Fprevious-versions","docs\u002F7.reference\u002F7.previous-versions",{"defaultPath":189,"packages":190},"\u002Fapi\u002Fautofixture\u002F5-0-0-rc-1",[191,204,210,215,221,227,232,238,243,248,253,258,264,271,276,281],{"id":192,"name":193,"nugetId":193,"primary":194,"versions":195,"defaultVersion":197,"defaultVersionSegment":198},"autofixture","AutoFixture",true,[196,200],{"version":197,"versionSegment":198,"line":199,"isLatest":194},"5.0.0-rc.1","5-0-0-rc-1","v5",{"version":201,"versionSegment":202,"line":203,"isLatest":32},"4.18.1","4-18-1","v4",{"id":205,"name":206,"nugetId":206,"primary":32,"versions":207,"defaultVersion":197,"defaultVersionSegment":198},"autofakeiteasy","AutoFixture.AutoFakeItEasy",[208,209],{"version":197,"versionSegment":198,"line":199,"isLatest":194},{"version":201,"versionSegment":202,"line":203,"isLatest":32},{"id":211,"name":212,"nugetId":212,"primary":32,"versions":213,"defaultVersion":201,"defaultVersionSegment":202},"autofoq","AutoFixture.AutoFoq",[214],{"version":201,"versionSegment":202,"line":203,"isLatest":194},{"id":216,"name":217,"nugetId":217,"primary":32,"versions":218,"defaultVersion":197,"defaultVersionSegment":198},"automoq","AutoFixture.AutoMoq",[219,220],{"version":197,"versionSegment":198,"line":199,"isLatest":194},{"version":201,"versionSegment":202,"line":203,"isLatest":32},{"id":222,"name":223,"nugetId":223,"primary":32,"versions":224,"defaultVersion":197,"defaultVersionSegment":198},"autonsubstitute","AutoFixture.AutoNSubstitute",[225,226],{"version":197,"versionSegment":198,"line":199,"isLatest":194},{"version":201,"versionSegment":202,"line":203,"isLatest":32},{"id":228,"name":229,"nugetId":229,"primary":32,"versions":230,"defaultVersion":201,"defaultVersionSegment":202},"autorhinomocks","AutoFixture.AutoRhinoMocks",[231],{"version":201,"versionSegment":202,"line":203,"isLatest":194},{"id":233,"name":234,"nugetId":234,"primary":32,"versions":235,"defaultVersion":197,"defaultVersionSegment":198},"idioms","AutoFixture.Idioms",[236,237],{"version":197,"versionSegment":198,"line":199,"isLatest":194},{"version":201,"versionSegment":202,"line":203,"isLatest":32},{"id":239,"name":240,"nugetId":240,"primary":32,"versions":241,"defaultVersion":201,"defaultVersionSegment":202},"idioms-fscheck","AutoFixture.Idioms.FsCheck",[242],{"version":201,"versionSegment":202,"line":203,"isLatest":194},{"id":244,"name":245,"nugetId":245,"primary":32,"versions":246,"defaultVersion":201,"defaultVersionSegment":202},"nunit2","AutoFixture.NUnit2",[247],{"version":201,"versionSegment":202,"line":203,"isLatest":194},{"id":249,"name":250,"nugetId":250,"primary":32,"versions":251,"defaultVersion":201,"defaultVersionSegment":202},"nunit3","AutoFixture.NUnit3",[252],{"version":201,"versionSegment":202,"line":203,"isLatest":194},{"id":254,"name":255,"nugetId":255,"primary":32,"versions":256,"defaultVersion":197,"defaultVersionSegment":198},"nunit4","AutoFixture.NUnit4",[257],{"version":197,"versionSegment":198,"line":199,"isLatest":194},{"id":259,"name":260,"nugetId":260,"primary":32,"versions":261,"defaultVersion":197,"defaultVersionSegment":198},"seedextensions","AutoFixture.SeedExtensions",[262,263],{"version":197,"versionSegment":198,"line":199,"isLatest":194},{"version":201,"versionSegment":202,"line":203,"isLatest":32},{"id":265,"name":266,"nugetId":266,"primary":32,"versions":267,"defaultVersion":269,"defaultVersionSegment":270},"tunit","AutoFixture.TUnit",[268],{"version":269,"versionSegment":270,"line":203,"isLatest":194},"0.1.0-preview0001","0-1-0-preview0001",{"id":272,"name":273,"nugetId":273,"primary":32,"versions":274,"defaultVersion":201,"defaultVersionSegment":202},"xunit","AutoFixture.xUnit",[275],{"version":201,"versionSegment":202,"line":203,"isLatest":194},{"id":277,"name":278,"nugetId":278,"primary":32,"versions":279,"defaultVersion":201,"defaultVersionSegment":202},"xunit2","AutoFixture.xUnit2",[280],{"version":201,"versionSegment":202,"line":203,"isLatest":194},{"id":282,"name":283,"nugetId":283,"primary":32,"versions":284,"defaultVersion":197,"defaultVersionSegment":198},"xunit3","AutoFixture.Xunit3",[285],{"version":197,"versionSegment":198,"line":199,"isLatest":194},[],{"id":288,"title":78,"badge":11,"body":289,"description":682,"extension":683,"meta":684,"navigation":194,"path":79,"seo":685,"stem":80,"updated":11,"__hash__":686},"docs\u002Fdocs\u002F3.how-to\u002F3.register-freeze-inject.md",{"type":290,"value":291,"toc":676},"minimark",[292,309,314,322,326,331,430,435,513,518,607,611,640,646,650,672],[293,294,295,296,300,301,304,305,308],"p",{},"Use ",[297,298,299],"strong",{},"Inject"," when you already have the object. Use ",[297,302,303],{},"Freeze"," when AutoFixture should create it once and reuse it. Use ",[297,306,307],{},"Register"," when you control how each request is built.",[310,311,313],"h2",{"id":312},"example-scenario","Example scenario",[293,315,316,317,321],{},"You are testing code that resolves the same ",[318,319,320],"code",{},"ClientDto"," from multiple places in an object graph. You need one shared instance — or a factory that always returns a known string.",[310,323,325],{"id":324},"example","Example",[293,327,328,330],{},[297,329,307],{}," — factory for a type:",[332,333,338],"pre",{"className":334,"code":335,"language":336,"meta":337,"style":337},"language-csharp shiki shiki-themes light-plus light-plus dark-plus","var fixture = new Fixture();\nfixture.Register(() => \"registered\");\n\nAssert.Equal(\"registered\", fixture.Create\u003Cstring>());\n","csharp","",[318,339,340,367,389,395],{"__ignoreMap":337},[341,342,345,349,353,357,360,364],"span",{"class":343,"line":344},"line",1,[341,346,348],{"class":347},"stxUP","var",[341,350,352],{"class":351},"sswaR"," fixture",[341,354,356],{"class":355},"s_Yst"," = ",[341,358,359],{"class":347},"new",[341,361,363],{"class":362},"sopvc"," Fixture",[341,365,366],{"class":355},"();\n",[341,368,370,373,376,379,382,386],{"class":343,"line":369},2,[341,371,372],{"class":351},"fixture",[341,374,375],{"class":355},".",[341,377,307],{"class":378},"swoLU",[341,380,381],{"class":355},"(() => ",[341,383,385],{"class":384},"sFD8J","\"registered\"",[341,387,388],{"class":355},");\n",[341,390,392],{"class":343,"line":391},3,[341,393,394],{"emptyLinePlaceholder":194},"\n",[341,396,398,401,403,406,409,411,414,416,418,421,424,427],{"class":343,"line":397},4,[341,399,400],{"class":351},"Assert",[341,402,375],{"class":355},[341,404,405],{"class":378},"Equal",[341,407,408],{"class":355},"(",[341,410,385],{"class":384},[341,412,413],{"class":355},", ",[341,415,372],{"class":351},[341,417,375],{"class":355},[341,419,420],{"class":378},"Create",[341,422,423],{"class":355},"\u003C",[341,425,426],{"class":347},"string",[341,428,429],{"class":355},">());\n",[293,431,432,434],{},[297,433,303],{}," — one shared instance:",[332,436,438],{"className":334,"code":437,"language":336,"meta":337,"style":337},"var frozen = fixture.Freeze\u003CClientDto>();\n\nvar resolved = fixture.Create\u003CClientDto>();\n\nAssert.Same(frozen, resolved);\n",[318,439,440,462,466,487,491],{"__ignoreMap":337},[341,441,442,444,447,449,451,453,455,457,459],{"class":343,"line":344},[341,443,348],{"class":347},[341,445,446],{"class":351}," frozen",[341,448,356],{"class":355},[341,450,372],{"class":351},[341,452,375],{"class":355},[341,454,303],{"class":378},[341,456,423],{"class":355},[341,458,320],{"class":362},[341,460,461],{"class":355},">();\n",[341,463,464],{"class":343,"line":369},[341,465,394],{"emptyLinePlaceholder":194},[341,467,468,470,473,475,477,479,481,483,485],{"class":343,"line":391},[341,469,348],{"class":347},[341,471,472],{"class":351}," resolved",[341,474,356],{"class":355},[341,476,372],{"class":351},[341,478,375],{"class":355},[341,480,420],{"class":378},[341,482,423],{"class":355},[341,484,320],{"class":362},[341,486,461],{"class":355},[341,488,489],{"class":343,"line":397},[341,490,394],{"emptyLinePlaceholder":194},[341,492,494,496,498,501,503,506,508,511],{"class":343,"line":493},5,[341,495,400],{"class":351},[341,497,375],{"class":355},[341,499,500],{"class":378},"Same",[341,502,408],{"class":355},[341,504,505],{"class":351},"frozen",[341,507,413],{"class":355},[341,509,510],{"class":351},"resolved",[341,512,388],{"class":355},[293,514,515,517],{},[297,516,299],{}," — exact instance:",[332,519,521],{"className":334,"code":520,"language":336,"meta":337,"style":337},"var injected = new ClientDto { Name = \"injected\", Age = 1 };\nfixture.Inject(injected);\n\nAssert.Same(injected, fixture.Create\u003CClientDto>());\n",[318,522,523,562,577,581],{"__ignoreMap":337},[341,524,525,527,530,532,534,537,540,543,545,548,550,553,555,559],{"class":343,"line":344},[341,526,348],{"class":347},[341,528,529],{"class":351}," injected",[341,531,356],{"class":355},[341,533,359],{"class":347},[341,535,536],{"class":362}," ClientDto",[341,538,539],{"class":355}," { ",[341,541,542],{"class":351},"Name",[341,544,356],{"class":355},[341,546,547],{"class":384},"\"injected\"",[341,549,413],{"class":355},[341,551,552],{"class":351},"Age",[341,554,356],{"class":355},[341,556,558],{"class":557},"s-S-M","1",[341,560,561],{"class":355}," };\n",[341,563,564,566,568,570,572,575],{"class":343,"line":369},[341,565,372],{"class":351},[341,567,375],{"class":355},[341,569,299],{"class":378},[341,571,408],{"class":355},[341,573,574],{"class":351},"injected",[341,576,388],{"class":355},[341,578,579],{"class":343,"line":391},[341,580,394],{"emptyLinePlaceholder":194},[341,582,583,585,587,589,591,593,595,597,599,601,603,605],{"class":343,"line":397},[341,584,400],{"class":351},[341,586,375],{"class":355},[341,588,500],{"class":378},[341,590,408],{"class":355},[341,592,574],{"class":351},[341,594,413],{"class":355},[341,596,372],{"class":351},[341,598,375],{"class":355},[341,600,420],{"class":378},[341,602,423],{"class":355},[341,604,320],{"class":362},[341,606,429],{"class":355},[310,608,610],{"id":609},"how-it-works","How it works",[612,613,614,625,634],"ul",{},[615,616,617,620,621,624],"li",{},[318,618,619],{},"Register\u003CT>(Func\u003CT>)"," — replaces how ",[318,622,623],{},"T"," is created on every request",[615,626,627,630,631,633],{},[318,628,629],{},"Freeze\u003CT>()"," — creates ",[318,632,623],{}," once, then injects that instance so later requests on this fixture reuse it",[615,635,636,639],{},[318,637,638],{},"Inject\u003CT>(T)"," — supplies a specific instance for all later requests of that type on this fixture",[293,641,642,643,375],{},"See ",[644,645,48],"a",{"href":49},[310,647,649],{"id":648},"next-steps","Next steps",[612,651,652,656,660,664,668],{},[615,653,654],{},[644,655,48],{"href":49},[615,657,658],{},[644,659,114],{"href":115},[615,661,662],{},[644,663,122],{"href":123},[615,665,666],{},[644,667,126],{"href":127},[615,669,670],{},[644,671,173],{"href":174},[673,674,675],"style",{},"html pre.shiki code .stxUP, html code.shiki .stxUP{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#569CD6}html pre.shiki code .sswaR, html code.shiki .sswaR{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#9CDCFE}html pre.shiki code .s_Yst, html code.shiki .s_Yst{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#D4D4D4}html pre.shiki code .sopvc, html code.shiki .sopvc{--shiki-light:#267F99;--shiki-default:#267F99;--shiki-dark:#4EC9B0}html pre.shiki code .swoLU, html code.shiki .swoLU{--shiki-light:#795E26;--shiki-default:#795E26;--shiki-dark:#DCDCAA}html pre.shiki code .sFD8J, html code.shiki .sFD8J{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#CE9178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s-S-M, html code.shiki .s-S-M{--shiki-light:#098658;--shiki-default:#098658;--shiki-dark:#B5CEA8}",{"title":337,"searchDepth":369,"depth":369,"links":677},[678,679,680,681],{"id":312,"depth":369,"text":313},{"id":324,"depth":369,"text":325},{"id":609,"depth":369,"text":610},{"id":648,"depth":369,"text":649},"Three ways to supply known instances or factories to a fixture.","md",{},{"title":78,"description":682},"J9aXRL0rNgQEs2xE3vmh2PR_PwFJz6S_WgkpDF_e1b8",[688,689],{"title":74,"path":75,"stem":76,"children":-1},{"title":82,"path":83,"stem":84,"children":-1},1788856648526]